总结
HTTP协议和Https区别
- 安全性
- 默认端口
- 连接方式
HTTP1.0:
浏览器与服务器只保持短暂的连接
,浏览器的每次请求都需要与服务器建立一个TCP连接
HTTP1.1:
-
引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用
-
虽然允许复用TCP连接,但是
同一个TCP连接里面,所有的数据通信是按次序进行的,服务器只有处理完一个请求,才会接着处理下一个请求。如果前面的处理特别慢,后面就会有许多请求排队等着
-
新增了
新的请求方法
-------- option、put 、delete -
新增了一些
新的请求头和响应头
HTTP2.0:
传输采用二进制格式
而非文本格式TCP连接实现多路复用,也不需要有序按照请求次序依次返回
使用报头压缩,降低传输开销
服务器推送
一、HTTP协议和Https区别
安全性
----- http是超文本传输协议,信息是明文传输,htts是具有安全性的ss加解密传输协议端口
---- http是80,https是443连接方式
------ http的连接很简单,是无状态的;https协议是由ssl+http协议构建的
可进行加密传输,身份认证的网络协议,比http协议安全
二、HTTP1.0
-
默认支持短连接 ------- 如果需要建立长连接,需要设置一个非标准的Connection字段 Connection: keep-alive
-
每次请求建立一个新的TCP连接 -------- 每次请求都需要与服务器建立一个新的TCP连接,请求处理后立即断开。这种频繁连接断开的形式明显造成了性能上的浪费 。
三、HTTP1.1
- 默认支持长连接(Connection: keep-alive) ------ 这样即在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟
- 请求不需等待结果就可发送新的请求,但返回必须按接收请求的顺序依次返回 ------ HTTP 1.1还允许客户端不用等待上一次请求结果返回,就可以发出下一次请求,但服务器端必须按照接收到客户端请求的先后顺序依次回送响应结果,以保证客户端能够区分出每次请求的响应内容
- 增加了新的请求方法 --------
put、delete、options
- 增加更多的请求头和响应头
1、引入了更多的缓存控制策略, 如If-Unmodified-Since, If-Match, If-None-Match等缓存头来控制缓存策略 2、引入range,允许值请求资源某个部分 3、引入host,实现了在一台WEB服务器上可以在同一个IP地址和端口号上, 使用不同的主机名来创建多个虚拟WEB站点
四、HTTP2.0
- 多路复用
- 二进制分帧
- 首部压缩
- 服务器推送
多路复用
HTTP/2 ,复用TCP连接,在一个连接里,客户端和浏览器都可以「同时」发送
多个请求或回应,而且不用按照顺序一一对应
,这样就避免了堵塞
二进制分帧
**帧**是HTTP2通信中最小单位信息。
HTTP/2 采用二进制格式传输数据
,而非 HTTP 1.x的文本格式
,解析起来更高效。
HTTP2中,同域名下所有通信都在单个连接上完成
,该连接可以承载任意数量的双向数据流。
首部压缩
HTTP/2在客户端和服务器端使用“首部表”来跟踪和存储之前发送的键值对,对于相同的数据,不再通过每次请求和响应发送,而只发送不同的头部信息。
服务器推送
HTTP2引入服务器推送,允许服务端推送资源给客户端
服务器会顺便把一些客户端需要的资源一起推送到客户端,如在响应一个页面请求中,就可以随同页面的其它资源
免得客户端再次创建连接发送请求到服务器端获取
这种方式非常合适加载静态资源