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则更进一步,它通过单一连接完成多路信息的传递。
谢谢阅读。
文章来源: blog.csdn.net,作者:WongKyunban,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_40763897/article/details/94647960
- 点赞
- 收藏
- 关注作者
评论(0)