http请求过程

HTTP是一个应用层的协议,我们在浏览器浏览网页时,所用的就是http协议来与服务器通讯,那么,当从我们输入一个网址到网页上显示出内容的这个过程中,到底发生了什么呢?

请求过程:

1. 输入url

2. cache—查询强缓存,未过期则直接从缓存中提取数据。

3. DNS—强缓存过期,由DNS服务器解析目的IP,解析失败则返回错误。

4. TCP—找到目的IP,则发送请求报文,与服务器进行TCP 3次握手建立连接,成功后将数据流发送给代理服务器。

5. request—由代理服务器(Apache/Nginx)将http请求报文解析为php可读的request对象,由PHP进行逻辑处理。

apache处理请求:apache主进程接收所有请求后分给多个子进程处理每个请求,子进程将请求发到httpserver,由http服务器将请求转换为请求报文,交由CGI处理器,.php文件由php服务程序解析(parser),进行逻辑处理,处理完后转成响应报文,返回给客户端。

6. response—PHP处理完后,转为响应报文返回给客户端

  • 正向代理:客户端发送请求到代理服务器,代理服务器发送请求到目的服务器,目的服务器返回数据给代理服务器,再由代理服务器返回给客户端。
  • 反向代理:客户端发送请求给代理服务器,代理服务器通知目的服务器客户端的请求,由目的服务器直接返回数据给客户端。
-------------本文结束感谢您的阅读-------------