简单总结了一下用户从浏览器请求网址(HTTP请求),到服务器处理请求返回数据过程,如有错误或表述不正确,欢迎讨论交流。
HTTP 事务执行过程
- 客户端(浏览器)做出请求操作(输入网址、点击链接、提交表单)。
- 客户端对域名进行解析,向设定的 DNS 服务器请求 IP 地址。
- 客户端根据 DNS 服务器返回 IP 地址采用三次握手与服务端建立 TCP/IP 连接。
- TCP/IP 连接成功后,客户端向服务端发送 HTTP 请求。
- 服务端的 Web Server 会判断 HTTP 请求的资源类型,进行内容分发处理;如果请求的资源为 PHP 文件,服务端软件会启动对应的 CGI 程序进行处理,并返回处理结果。
- 服务端将 Web Server 的处理结果响应给客户端
- 客户端接收服务端的响应,并渲染处理结果,如果响应内容需要请求其他静态资源,通过 CDN 加速访问所需资源。
- 客户端将渲染好的视图呈现出来并断开 TCP/IP 连接
流程图
参考:
https://github.com/skyline75489/what-happens-when-zh_CN/blob/master/README.rst
https://zhuanlan.zhihu.com/p/20694204
最新评论