HTTP协议概述

网友投稿 954 2022-05-29

HTTP协议概述

根据TCP/IP网络模型,HTTP超文本传输协议属于应用层的协议,用于传输文件,如HTML文档。HTTP被设计用于Web浏览器与Web服务器之间的通信,当然亦可以用于其他用途 。HTTP最经典的应用模型无疑就是CS模型(客户端-服务器模型):当客户端打开一个连接发送一个请求给服务端,然后等待服务器的响应,直到收到服务器的响应为止。

HTTP是一个无状态协议,意思是说,服务器不会保留两次请求之间的任何数据。虽说HTTP协议不会在请求间保持着连接,但是它们的会话是有状态,HTTP可以通过 cookies的使用记录ssessions。利用HTTP报头的扩展性,Cookies可以加到工作流中。这样可以在每一个HTTP请求之间共享同样上下文、同样的状态。

在根据TCP/IP网络模型中,HTTP协议所在应用层的下一层是TCP/IP层,HTTP数据将会被封装到TCP协议的数据部分进行传输,由此一来,HTTP就可以借着的TCP提供可靠的传输,即不会像UDP协议那样在失败时没有任何反馈信息,你都不知道成功没有,HTTP通过TCP提供可靠的传输,无论成功与否,你都能收到反馈信息,这样你就知道下一步应该怎么做了。

因为HTTP是使用了传输层的TCP协议来提供可靠传输。那么在客户端与服务端交换HTTP请求/响应前,就要建立起TCP连接。TCP连接需要经历“三次握手”。HTTP/1.0为每一个HTTP请求/响应对打开一个TCP连接。当有很多请求发送时,这种做法比共享一个TCP连接要低效。因此,HTTP/1.1 引进流水线(据说非常难实现)和持久连接(即保持连接),下面的TCP连接可以通过连接头信息达到部分控制。而HTTP/2则更进一步,它通过单一连接完成多路信息的传递。

谢谢阅读。

HTTP TCP/IP

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:[django]项目打包构建
下一篇:python共享内存
相关文章