摘自:http://www.cnblogs.com/chanzhi/p/5455144.html
LAMP环境搭建企业网站建设必然离不开服务器运维,一个稳定高效的服务器环境是保证网站正常运行的重要前提。本文小编将会详细讲解Linux系统上如何搭建配置高效的lamp服务环境,并在lamp环境中搭建起
顺晟科技
2021-06-16 10:39:28
135
本文带给你一个http协议列表,有一定的参考价值。有需要的朋友可以参考一下,希望对你有帮助。
这里我只是整理一些知识,方便理解和记忆。还有很多不完善的地方,更多的细节,需要查书或者其他文章
http协议的演变
HTTP是基于TCP/IP协议的应用层协议。不涉及包传输,主要指定客户端和服务器之间的通信格式,默认使用80端口。
http/0.9
发表于1991年,只有一个命令GET。根据协议,服务器只能响应HTML格式的字符串,不能响应其他格式的字符串。
http/1.0
1996年5月发布,HTTP/1.0发布,内容大幅增加。首先,任何格式的内容都可以发送。这使得互联网不仅可以传输文字,还可以传输图像、视频和二进制文件。这为互联网的大发展奠定了基础。除了GET命令外,还引入了POST命令和HEAD命令,丰富了浏览器与服务器之间的交互手段。
HTTP请求和响应的格式也发生了变化。除了数据部分,每个通信都必须包括头信息(HTTPheader),用于描述一些元数据。
其他新增功能包括statuscode、多字符集支持、多parttype、授权、缓存、contentencoding等。
* *缺点:* *
每个TCP连接只能发送一个请求。发送数据后,连接被关闭。如果您想请求其他资源,您必须创建一个新的连接。
新的TCP连接成本很高,因为它需要客户端和服务器三次握手,并且它是从慢速启动开始的。所以HTTP1.0版的性能相对较差。随着越来越多的外部资源加载到网页上,这个问题变得越来越突出。
为了解决这个问题,一些浏览器使用
列出项目
创建了一个非标准连接字段。
连接:保持活动状态
在客户端或服务器主动关闭连接之前,会建立一个可重用的TCP连接。但是这不是一个标准的领域,不同实现的行为可能不一致,所以不是一个根本的解决方案。
http/1.1
1997年1月发布,HTTP/1.1发布,仅比1.0版本晚半年。它对HTTP协议做了进一步的改进,HTTP协议已经使用了20年,至今仍然是更流行的版本。
1.1版更大的变化是persistentconnection的引入,即TCP连接默认不关闭,无需声明Connection:keep-alive即可被多个请求重用。
当客户端和服务器发现彼此在一段时间内处于非活动状态时,它们可以主动关闭连接。但是,标准做法是客户端在最后一个请求时发送Connection:close,明确要求服务器关闭TCP连接。
1.1版还增加了很多动词方法:PUT、PATCH、HEAD、OPTIONS、DELETE。
* *缺点* *
虽然1.1版允许多路传输TCP连接,但同一TCP连接中的所有数据通信都是按顺序进行的。在处理完一个响应之前,服务器不会做出下一个响应。如果之前的响应特别慢,会有很多请求排队等待。这被称为“线头阻塞”。
只有两种方法可以避免这个问题:
一是减少请求数量;
第二,同时开放更多连接。这导致了许多网页优化技术,例如合并脚本和样式表、在CSS代码中嵌入图片、域名解析等等。如果HTTP协议设计得更好,这种额外的工作是可以避免的。
SPDY
2009年,谷歌发布了自己的SPDY协议,主要解决了HTTP/1.1的低效问题。该协议在Chrome浏览器上证明可行后,被视为HTTP/2的基础,其主要特性继承自HTTP/2。
HTTP/2
2015年,HTTP/2发布。不叫HTTP/2.0,因为标准委员会不打算发布任何子版本,下一个新版本就是HTTP/3。
HTTP/1.1的头信息必须是文本(ASCII编码),数据体可以是文本,也可以是二进制。HTTP/2是一个彻底的二进制协议。
二进制协议的一个优点是可以定义额外的帧。HTTP/2定义了近十种帧,为以后的应用打下了良好的基础。如果用文本来实现这个功能,解析数据会变得非常麻烦,而二进制解析则方便得多。
HTTP/2复用TCP连接。在一个连接中,客户端和浏览器都可以同时发送多个请求或响应,不需要一一对应,从而避免了“队列头阻塞”。
安全超文本传输协议
HTTPS是HTTP协议的安全版本,HTTP协议的数据传输是明文,不安全。HTTPS使用SSL/TLS协议进行加密。
http协议的特点
无状态——每个HTTP请求都是独立的,任何两个请求之间都没有必然的联系。然而,实际应用中并非如此。引入Cookie和会话机制来关联请求。
断开——在每个请求完成后立即断开
单向应用层协议——通信请求只能由客户端发起,服务器响应请求。
在大多数情况下,当客户端请求一个网页时,多个请求——不能通过一个请求成功。服务器首先响应HTML页面,然后浏览器发现HTML页面还引用了其他资源,比如CSS、JS文件、图片等。并自动发送对这些所需资源的HTTP请求。
目前的HTTP版本支持流水线机制(即在同一个TCP连接中,客户端可以同时发送多个请求),可以同时请求和响应多个请求,大大提高了效率。
本文转载自中文网站
15
2022-09
15
2022-09
15
2022-09
15
2022-09
15
2022-09
15
2022-09