HTTP协议是浏览器与服务器之间的数据传输协议。作为应用层协议,HTTP是基于TCP/IP协议来传输数据的(HTML文件、图片、查询结果等),HTTP协议不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信协议。
客户使用浏览器访问服务器进行大致11个步骤:
- 输入网址,按回车
- 浏览器象服务器发送tcp连接请求
- 服务器接收连接请求,并三次握手
- 浏览器将请求的数据打包成一个HTTP协议格式的数据包
- 浏览器将该数据包推入网络,数据包经过网络传输,最终到达端服务器程序
- 服务器拿到数据包后,同样以HTTP协议格式进行解包。获得客户的意图
- 得知客户的意图后进行处理,比如提供静态文件或者调用服务器端程序获得动态结果
- 服务器将响应结果(可能是HTML或者图片等)按照HTTP协议进行打包
- 服务器将响应数据包推入网络,数据包经过网络传输最终到达浏览器
- 浏览器拿到数据包后 以HTTP协议的格式解包,然后解析数据,假设这里的数据是HTML
- 浏览器将HTML文件展示到页面上(浏览器只能展示静态资源)