http 订阅
http是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使得开发和部署是那么的直截了当。 [1] 展开全文
http是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使得开发和部署是那么的直截了当。 [1]
信息
外文名
HTTP
适用浏览器
Firefox、Google chrome等
作    用
规定WWW服务器与浏览器之间信息传递规范
中文名
超文本传输协议
工作层
应用层
基    础
架构在TCP协议上
http简介
万维网WWW(world wide web)发源于欧洲日内瓦量子物理实验室CERN,正是WWW技术的出现使得因特网得以超乎想象的速度迅猛发展。这项基于TCP/IP的技术在短短的十年时间内迅速成为已经发展了几十年的Internet上的规模最大的信息系统,它的成功归结于它的简单、实用。在WWW的背后有一系列的协议和标准支持它完成如此宏大的工作,这就是Web协议族,其中就包括HTTP超文本传输协议。 在1990年,HTTP就成为WWW的支撑协议。当时由其创始人WWW之父蒂姆·贝纳斯·李(TimBerners—Lee)提出,随后WWW联盟(WWW Consortium)成立,组织了IETF(Internet Engineering Task Force)小组进一步完善和发布HTTP协议。 [2]  HTTP是应用层协议,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。HTTP是一种协议规范,这种规范记录在文档上,为真正通过HTTP协议进行通信的HTTP的实现程序。HTTP协议是基于C/S架构进行通信的,而HTTP协议的服务器端实现程序有httpd、nginx等,其客户端的实现程序主要是Web浏览器,例如Firefox、InternetExplorer、Google chrome、Safari、Opera等,此外,客户端的命令行工具还有elink、curl等。Web服务是基于TCP的,因此为了能够随时响应客户端的请求,Web服务器需要监听在80/TCP端口。这客户端浏览器和Web服务器之间就可以通过HTTP协议进行通信了。 [3] 
收起全文
精华内容
参与话题
问答
  • 在某些需要数据安全的场景下会采用Http内容加密,很少使用Https,因为一直听说Https效率低 今天没事做了个实验 平台提供三种回复 1、Http明文 2、Http加密 3、Https 三种返回的数据大小一致(对于加密那部分是原文和...
  • http https session丢失

    千次阅读 2016-03-27 19:35:32
    项目中仅在登录时使用https连接进行登录请求,登录成功会使用http访问服务器的其它资源。也就说从https连接切换到http。输入正确的用户和密码后总是跳转到登录页面,并没有跳转到主页面。debug了一下程序,发现在...

    现象描述

    项目中仅在登录时使用https连接进行登录请求,登录成功会使用http访问服务器的其它资源。也就说从https连接切换到http。输入正确的用户和密码后总是跳转到登录页面,并没有跳转到主页面。debug了一下程序,发现在跳转到主页时,程序认为 request.getSession("userInfo") 获取的用户信息为 null,用户没有登录。而不适用https连接请求登录,输入正确的用户名和密码后就可以正确进入主页。也就是说https->http session信息没有了。我们项目使用的是tomcata 7,JDK 7,Spring 4.1。

    原因分析

    如果需要很好的理解上述现象的原因,需要对Cookie和session机制有一定的了解。这里有一篇资料(http://www.cnblogs.com/fnng/archive/2012/08/14/2637279.html),不理解Cookie和session机制的可以参考一下。
    百度了一下出现上述现象的原因。发现在使用https连接请求登录时,Set-Cookie属性值中包含Secure,这个值代表这个cookie只能在https连接下才能被浏览器传递到服务器进行会话验证,如果是http连接则这个cookie不会被传递到服务器端。用Chrom开发者工具看了一下第一次使用https请求登录页面(注意哟,是第一次请求https连接),Response Headers的Set-Cookie的值如下图:



    也就是说当我们输入正确的用户名密码后,请求登录,跳转到主页是使用http连接。这时,https中的Cookie是不会在http连接时发送到服务器端,服务器端没有检测到JSESSIONID,会新生成一个JSESSIONID,并关联到一个新的session对象(这个新session并没有存储用户登录信息)。也就是造成了https->http时,session丢失。

    解决方案

    我的登录流程是:请求登录界面(https连接)->提交登录(https连接)->httpsToHttp(https)->index(主页),httpsToHttp连接是为了冲https连接切换到http连接。在httpsToHttp的对应的方法中加入如下代码:
    	@RequestMapping(value = "/httpsToHttp", method = RequestMethod.GET)
    	public String gotohttpsToHttp(){
    		Cookie cookie = new Cookie("JSESSIONID", request.getSession().getId()); 
    		response.addCookie(cookie);
    		Cookie[] ck = request.getCookies();
    		System.out.println("Cookie[] ck = request.getCookies() cookie is null"+(null==ck));
    
    		return "HttpsToHttp";
    	}

    原理:就是在httpsToHttp连接响应对象response中添加cookie对象,这个对象包括了https是产生的JSESSIONID。也是在http连接是也有个cookie,这不过这个cookie属性值不包含Secure。

    参考资料如下:
    展开全文
  • ajax post json http https

    千次阅读 2018-07-13 16:04:10
    JS前端var params={}; params.openid="asdasd"; $.ajax({ async:false, type:"post", contentType : "application/json;...https://192.168.0.109:5156/game/ReqData", ...
    JS前端
    var params={};
    params.openid="asdasd";
    $.ajax({
        async:false,
        type:"post",
        contentType : "application/json;charset=UTF-8", //类型必填
        url:"https://192.168.0.109:5156/game/ReqData",
        data:JSON.stringify(params),    //转json串或不转 配合后端即可
        dataType:"json",
        success:function(data){
            if(data.result=='success'){
                alert('修改成功');
            }else{
                alert('修改失败');
            }
        },
        error:function(data){
            alert(data.result);
        }
    
    })

    spring boot 后端

    @RequestMapping(value = "reqData",method = RequestMethod.POST)
    @ResponseBody
    public ResponseData get(@RequestBody String reqBody) {


    展开全文
  • linux 设置 http https 代理

    千次阅读 2019-08-30 10:51:19
    如果公司内网有一些限制的话,可以设置一下代理 # export proxy="http://192.168.56.1:8888" ;...export https_proxy=$proxy ; export ftp_proxy=$proxy ; export no_proxy="localhost, 127.0.0.1, ::1" ; 取消环...

    如果公司内网有一些限制的话,可以设置一下代理

    
    # export proxy="http://192.168.56.1:8888" ;
    export http_proxy=$proxy ;
    export https_proxy=$proxy ;
    export ftp_proxy=$proxy ;
    export no_proxy="localhost, 127.0.0.1, ::1" ;
    
    

    取消环境变量的设置

    # unset proxy;
    unset http_proxy ;
    unset https_proxy ;
    unset ftp_proxy ;
    unset no_proxy ;
    
    
    展开全文
  • iOS http https小结

    千次阅读 2016-06-11 22:38:53
    http协议http协议超文本传输协议,用于规定客户端和服务器端的传输规则,包括请求行、请求头、请求体 请求行:请求方法 请求统一资源定位符 http版本号 请求方法: iOS设置请求方法 NSURLRequest setHTTPMethod ...

    http协议

    http协议超文本传输协议,用于规定客户端和服务器端的传输规则,包括请求行、请求头、请求体
    请求行:请求方法 请求统一资源定位符 http版本号
    请求方法:
    iOS设置请求方法 NSURLRequest setHTTPMethod
    请求统一资源定位符:
    初始化的时候指定统一资源定位符的位置 NSURLRequest requestWithURL: cachePolicy: timeoutInterval:
    http版本号:默认,不做设置


    请求头:
    Host: 目标服务器的网络地址
    Accept: 让服务端知道客户端所能接收的数据类型,如text/html /
    Content-Type: body中的数据类型,如application/json; charset=UTF-8
    Accept-Language: 客户端的语言环境,如zh-cn
    Accept-Encoding: 客户端支持的数据压缩格式,如gzip
    User-Agent: 客户端的软件环境,我们可以更改该字段为自己客户端的名字,比如QQ music v1.11,比如浏览器Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/600.8.9 (KHTML, like Gecko) Maxthon/4.5.2
    Connection: keep-alive,该字段是从HTTP 1.1才开始有的,用来告诉服务端这是一个持久连接,“请服务端不要在发出响应后立即断开TCP连接”。关于该字段的更多解释将在后面的HTTP版本简介中展开。
    Content-Length: body的长度,如果body为空则该字段值为0。该字段一般在POST请求中才会有。
POST请求的body请求体也有可能是空的,因此POST中Content-Length也有可能为0

    Cookie: 记录者用户信息的保存在本地的用户数据,如果有会被自动附上
    -[NSMutableURLRequest addValue: forHTTPHeaderField:]
    设置请求头
    -[NSURLRequest allHTTPHeaderFields]
    获取已经被设置的请求头
    请求体:
    请求体包含了你要发送给服务器的真正的内容,使用setHttpBody

    http响应:包括http响应状态行 响应头 响应体
    响应状态行:
    http版本号
    状态码
    状态码对应的英文字符

    响应头 Header
    解释
    示例
    Accept-Ranges
    表明服务器是否支持指定范围请求及哪种类型的分段请求
    Accept-Ranges: bytes
    Age
    从原始服务器到代理缓存形成的估算时间(以秒计,非负)
    Age: 12
    Allow
    对某网络资源的有效的请求行为,不允许则返回405
    Allow: GET, HEAD
    Cache-Control
    告诉所有的缓存机制是否可以缓存及哪种类型
    Cache-Control: no-cache
    Content-Encoding
    web服务器支持的返回内容压缩编码类型。
    Content-Encoding: gzip
    Content-Language
    响应体的语言
    Content-Language: en,zh
    Content-Length
    响应体的长度
    Content-Length: 348
    Content-Location
    请求资源可替代的备用的另一地址
    Content-Location: /index.htm
    Content-MD5
    返回资源的MD5校验值
    Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
    Content-Range
    在整个返回体中本部分的字节位置
    Content-Range: bytes 21010-47021/47022
    Content-Type
    返回内容的MIME类型
    Content-Type: text/html; charset=utf-8
    Date
    原始服务器消息发出的时间
    Date: Tue, 15 Nov 2010 08:12:31 GMT
    ETag
    请求变量的实体标签的当前值
    ETag: “737060cd8c284d8af7ad3082f209582d”
    Expires
    响应过期的日期和时间
    Expires: Thu, 01 Dec 2010 16:00:00 GMT
    Last-Modified
    请求资源的最后修改时间
    Last-Modified: Tue, 15 Nov 2010 12:45:26 GMT
    Location
    用来重定向接收方到非请求URL的位置来完成请求或标识新的资源
    Location: http://www.zcmhi.com/archives/94.html

    参考网址:http://tools.jb51.net/table/http_header

    cookie在iOS的使用

    NSHTTPCookie 类表示一个cookie对象 通过properties获取所有的cookie属性,也可以自己设置cookie属性
    NSHTTPCookieStorage 通过NSHTTPCookieStorage 管理自己的cookie
    (NSArray *)cookies 获取所有的cookie对象
    获取特定url的cookie
    - (NSArray )cookiesForURL:(NSURL )theURL;
    多个应用间不共享cookie
    删除应用cookie会被删除
    重启应用和系统 cookie会存在。

    https协议

    https请求原理:http+ssl/tls
    过程
    1.客户端发起https请求
    2.服务器端配置:要有一对公��和私要,可以自己生成,也可以通过向第三方机构申请,区别:自己的证书要客户端验证 第三方的不需要
    3.传送证书,也就是公钥,还包含其他信息
    4.验证证书的合法性
    5.如果合法就生成随机值,随机值就是对称加密的私钥。
    6.然后使用公钥加密。
    验证证书的合法性
    1.验证是否过期
    2.验证证书是否被吊销
    3.验证证书是否是ca颁发


    证书的签名是由根证书的的私钥签发的,要验证签名就要使用跟证书的公钥去解密。
    数字签名和解签(验签)过程:使用hash函数对报文数据生成摘要,使用自己的私钥对摘要进行签名(其实就是加密过程),生成签名数据,把原始数据报文和签名数据发送给对方。接收方收到原始数据报文和签名数据后,首先使用相同的hash函数对原始数据生成一个摘要,其次,用对方的公钥对签名数据进行解签名(解密过程),这个解签名的结果也是个摘要,最后比较这两个摘要是否相同,如果相同那么接收方就能确认该数字签名是发送方的。
    iOS支持https请求

    展开全文
  • http https 网址链接的写法

    万次阅读 2018-03-29 10:13:44
    如果站点中既有http的资源 又有https的资源 解决办法 这行代码如果放在HTTP的网页上,那么请求的资源就是http:
  • spring boot设置http https端口

    千次阅读 2017-04-26 11:49:56
    用spring-boot要同时支持httphttps,试了几个不好用,google了这个测试通过 @Configuration public class MultiConnectionSupport {  @Value("${server.http.port}")  private int httpPort;  @Bean  ...
  • 微信支付回调地址 http https问题

    万次阅读 2019-01-14 18:01:29
    看这个帖子 ... 首先你得排除其他的问题 比如:...兄弟们,我今天也遇到这个问题了(http可以用 https就不能用了) 回调不成功,地址也没问题(带参数啥啥啥的都是没有的),很正常的一个回调地址 但是就是不成功 换成ht...
  • 使用相对Url无缝切换 HTTP HTTPS

    千次阅读 2016-03-02 16:48:58
    HTTPS的网站下,如果要访问HTTP资源,那么一般浏览器会弹出窗口询问用户是否允许加载不安全内容,云云。为了避免出现这样干扰用户的情况,所有网页下请求的资源都都必须是HTTPS资源。如果你的站点支持HTTPHTTPS...
  • 区别TCP UDP HTTP HTTPS SFTP FTP?

    千次阅读 2017-11-23 16:04:03
    区别TCP UDP HTTP HTTPS SFTP FTP? http://wf.java.tedu.cn/news/166409.html
  • 面试中关于TCP UDP HTTP HTTPS的问题

    千次阅读 2017-03-07 20:23:30
    http:是用于www浏览的一个协议。 tcp:是机器之间建立连接用到的一个协议 1.TCP/IP 是个协议组,可分为三个层次:网络层,传输层和应用层 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传输层中...
  • 网络抓包及Http Https通信协议分析

    万次阅读 2014-10-24 13:38:19
    之前写过一篇博客:用 Fiddler 来调试HTTPHTTPS。 这篇文章介绍另一个好用的抓包工具wireshark, 用来获取网络数据封包,包括http,TCP,UDP,等网络协议包。 记得大学的时候就学习过TCP的三次握手协议,那时候...
  • nginx配置ws wss 和http https和访问实例

    千次阅读 2019-03-14 16:52:28
    网上有很多文章都写怎么配置,但是很多都是wss连不上的,经过摸索了很久才把wss调通,然后顺便把wshttp https整合进来。 1.需要准备清单列表:websocket服务端一个,websocket客户端一个,node.js服务端一个,安装...
  • Chrome 强奸了我的 FTP Http Https 协议

    万次阅读 2010-10-15 16:59:00
    今天突然需要把 FTP 转到 IE 下,却发现无论怎样修改,都不能...httphttps直接改不行,修改注册表键值就可以,它的确是和文件格式关联的。因为它的描述里面说的很清楚了:chrome Html doucument,而不是proto
  • TCP、UDP和HTTP详解http:是用于www浏览的一个协议。tcp:是机器之间建立连接用的到的一个协议。1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有IP协议、ICMP协议、ARP协议、RARP协议和...
  • 即前缀是http还是https 1.http方式:字段解析: 1.url:表示要传递到的目标地址 String类型 2.byte[] parameter :表示要传递的数据。String.getBytes()可以得到该类型//重载 http方法。 public static String ...
  • 玩过抓包,网络协议分析的朋友肯定都知道http https post get,web端和用户的交互主要是通过post get完成的。 这里有两种实现: 1:libcurl实现的CHttpClient类,该类实现了Htpp和Https的get post方法。 2:winhttp...
  • Last update IP address  Port Country  Type Anonymity 54 secs 116.228.55.217  8000 flag China  HTTP High +KA
  • HTTPHTTPS协议,看一篇就够了

    万次阅读 多人点赞 2019-08-03 11:22:16
    为什么需要但是为什么要讲HTTPHTTPS呢? 二、HTTPHTTPS发展历史 当我们打开谷歌浏览器输入www.12306.cn,回车很快在浏览器上就看到页面,其中的浏览器就是客户端,负责接受浏览器的是服务器,两者的通信是...
  • 为什么HTTPSHTTP更安全?

    万次阅读 多人点赞 2019-08-09 14:39:34
    近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器、搜索引擎、CA机构、大型互联网企业的共同促进下,互联网迎来了“HTTPS加密时代”,HTTPS将在未来的...
  • java后台发起上传文件的post请求(httphttps)

    万次阅读 多人点赞 2019-07-31 19:11:04
    一、http post 对于文件上传,客户端通常就是页面,在页面里实现上传文件不是什么难事,写个form,加上enctype="multipart/form-data",在写个接收的就可以了,没什么难的。如: <!DOCTYPEhtml> <html>...
  • Beacon Cobalt strike4.0开始就只有这几种beacon,下面对其进行一一讲述,先得创建对应的listener,之后根据创建好的listener生成木马文件,文件运行后返回对应...2.beacon进入睡眠状态,结束睡眠状态后用 http-get方
  • httphttps

    万次阅读 2020-05-17 17:17:37
    网站的url会分为2部分,通信协议和域名协议 ...httpshttp+SSL/TCP的简称,SSL基于http之下TCP之上的一个协议层,是基于http标准并对TCP传输数据时进行加密 TLS是更为安全的升级版SSL 参考 https://baijiaha
  • HTTPHTTPS 的区别(面试常考题)

    万次阅读 多人点赞 2018-07-09 14:23:35
    无论是在校学习还是找工作的时候,老师和面试官都问过同学httphttps的区别。平时上网的时候也没有关注这个问题,只是知道计算机网络里Http的概念,所以最近才查资料好好补补这一块。其实这一块的知识延伸很广,...
  • HTTPHTTPS的区别

    万次阅读 多人点赞 2020-03-22 00:00:29
    面试官问HTTPHTTPS的区别,我这样回答让他竖起大拇指!
  • 中间人攻击 MITM a想给c发信息,这时候b劫持了某个路由器,然后进行中间人攻击...httpshttp+ssl,利用非对称密钥加密实现数据传输安全。为了同时保证通信过程的安全性与可用性,HTTPS选择了折中的方案,即使用非对称
  • HTTPHTTPS协议

    万次阅读 2019-10-15 00:10:52
    今天让我们一起研究一下HTTPHTTPS这两种常用的协议。 HTTP: 是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以...
  • C# For Unity系列之入门篇

    万人学习 2017-03-26 14:00:01
    课程 《C# For Unity系列之入门篇》配套学习资料链接:http://pan.baidu.com/s/1gflxreN 密码:sou5;刘老师讲Unity学员群(2) 497429806 一、热更新系列(技术含量:中高级): A:《lua热更新...
  • HTTPHTTPS详解。

    万次阅读 2017-10-24 20:25:17
    一,HTTPHTTPS基本概念 深入学习某个东西时,我们先来从维基百科上看看它俩的概念。  HTTP:超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用...
  • 使用openssl生成自签名证书 openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -sha256 -keyout /etc/lighttpd/server.pem -out /etc/lighttpd...配置 https 支持 ssl.engine = "enable" ssl.pemfile = "/etc/li

空空如也

1 2 3 4 5 ... 20
收藏数 6,583,819
精华内容 2,633,527
关键字:

http