http协议

http协议:

http,超文本传输协议,是基于tcp的应用层协议,它不关心数据的传输细节,主
要用来规范客户端和服务端的数据传输格式,默认端口是80。
http三大特性:
1.无连接:限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户
的应答后,即断开连接。采用这种方式可以节省传输时间。
2.媒体独立:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型
的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类
型。
3.无状态:指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要
前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大,带有
cookie或session就会好一些。另一方面,在服务器不需要先前信息时它的应答就
较快。

http协议的演进:
http 0.9版:1991年发行,只有一个get命令,只能用来传输html页面,不能是其他
的格式。
http 1.0版:1996年发行,不仅可以传输html,还可以传输二进制文件比如图片和
视频,增加了POST和HEAD命令,丰富了请求和响应消息,规定了一些元数据字段如
字符集、编码、状态响应码等。
http 1.1版:1999年,新增了请求头缓存处理、宽带优化、错误通知、消息传送(
新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法)等。
http 2.0版:2015年发行,
1.  HTTP2的解析基于二进制,
2.  传输采取多路复用,即每一个request都是是用作连接共享机制。(一个request
对应一个id,这样一个连接上可以有多个request,每个连接的request可以随机的
混杂在一起,接收方可以根据request的 id将request再归属到各自不同的服务端
请求里面。)
3.  header压缩,使用encoder来减少需要传输的header大小,通讯双方各自cache一
份header fields表,既避免了重复header的传输,又减小了需要传输的大小。
4.  增加了服务器推送功能

** 开放互联网上HTTP 2.0将只用于https://网址,而 http://网址将继续使用
HTTP/1,目的是在开放互联网上增加使用加密技术,以提供强有力的保护去遏制主
动攻击。

HTTPS与HTTP的一些区别

HTTPS协议需要到CA申请证书,一般免费证书很少,需要交费。

HTTP协议运行在TCP之上,所有传输的内容都是明文,HTTPS运行在SSL/TLS之上,
SSL/TLS运行在TCP之上,所有传输的内容都经过加密的。

HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者
是443。

HTTPS可以有效的防止运营商劫持,解决了防劫持的一个大问题。

参考原文:
https://www.cnblogs.com/wxisme/p/6212797.html
https://www.cnblogs.com/heluan/p/8620312.html

原文地址:https://www.cnblogs.com/nature-wind8/p/10524992.html