HTTP的工作原理

网络/协议

44人已加入

描述

  在日常的开发中,很多开发的同学可能很少了解的HTTP协议的底层原理。HTTP协议的底层涉及到请求响应模型,HTTP的工作流程。cookie和session的原理等。

  HTTP基础原理

  HTTP是HyperTextTransfer Protocol(超文本传输协议)的缩写。HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。HTTP协议通常承载于TCP协议之上,HTTPS就是也承载于TLS或SSL协议层之上。

  HTTP由请求和响应构成,是一个标准的客户端服务器模型(B/S)。HTTP协议永远都是客户端发起请求,服务器回送响应。

  HTTP协议是一个双向协议:我们在上网冲浪时,浏览器是请求方A,百度网站就是应答方B。双方约定用HTTP协议来通信,于是浏览器把请求数据发送给网站,网站再把一些数据返回给浏览器,最后由浏览器渲染在屏幕,就可以看到图片、视频了。

  HTTP的工作流程可以分为如下步骤:

  客户端发出HTTP请求,包含请求方法(GET、POST等)、URL地址、HTTP的版本、请求头等信息。

  服务器接收HTTP请求,并对请求进行解析和处理,根据请求内容返回对应的HTTP响应。

  服务器发送HTTP响应,包含响应状态码、响应头、响应体等内容。

  客户端接收HTTP响应,并对响应进行解析和处理,展示给用户,如渲染HTML页面或执行JavaScript脚本。

  需要注意的是,HTTP协议是基于TCP协议的,每个HTTP请求都需要先建立TCP连接,然后才能进行HTTP数据的传输。TCP连接是一个面向连接的、可靠的数据传输通道,确保数据的可靠传输,但是每个TCP连接都需要建立和维护一定的开销。所以,在HTTP/1.1中引入了Connection: keep-alive来使得在同一TCP连接中可以发送多个HTTP请求和响应,以降低TCP连接的建立和释放带来的开销。

  此外,HTTPS协议是基于HTTP协议的,但它通过SSL/TLS协议来提供了数据传输的加密和身份认证机制,保证了数据的安全性。相比HTTP协议,HTTPS协议虽然会增加一些开销,但在一些安全性要求高的场景下使用,是一种更为安全的选择。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分