作为一个web开发人员,我们需要了解最基本的web信息传递的过程,在面试过程中,我们也会经常遇到http请求之类的问题,因此这篇文章就简要分析了web请求处理的基本过程以及基本原理.
WEB请求处理的基本流程
当我们使用浏览器进行浏览操作的时候,会产生一系列的数据请求。现在浏览器和服务器之间的数据交互是基于B/S架构的,而这种架构是建立在HTTP请求的基础上的,当我们在浏览器的地址栏中输入一个网页的地址后,会触发一些列事件,如下图所示:
基本流程如下:
用户输入一个网址
DNS域名服务器会将网址解析为IP地址,这里的IP地址对应着唯一一台服务器
浏览器客户端通过TCP协议与服务器建立连接:这里会经过三次握手
连接建立成功后,客户端发送HTTP Request 请求
WEB服务器接收到请求时 会返回HTTP Response 回复
浏览器端接收数据
浏览器发送关闭连接请求:TCP四次挥手后关闭连接
浏览器对接收到的网页进行渲染
以上就是我们访问网页时会触发的一系列事件,也是web请求处理的基本流程,接下来对几个概念详细介绍.
TCP协议以及三次握手和四次挥手
TCP协议是OSI七层协议中传输层的一项协议,它是一种面向连接的可靠交付的数据传输协议,和UDP用户数据报协议不同的是,它需要建立连接,并且需要无差错和可靠地交付数据。通过TCP建立连接,需要经过三次握手,关闭TCP连接需要四次挥手。
OSI七层模型中TCP处于的层级位置如图所示
TCP三次握手
TCP建立连接是为了可靠地传输数据,因此建立过程比较复杂,以确保可靠地传输数据。具体流程