今天我们以HTTP协议为例,一起了解一下浏览网站时的整个过程。
HTTP协议
HTTP协议(Hyper Text Transfer Protocol)是一种超文本传输协议,它是一个属于应用层的协议,基于浏览器和服务器架构工作。浏览器作为HTTP客户端通过URL向HTTP服务器端也就是WEB服务器发送一个请求,Web服务器端会根据收到的请求,向客户端发送一个响应信息。
HTTP通信过程
第一步,用户会在浏览器中输入一个请求;
第二部,浏览器会向服务器端发送一个申请连接的请求;(因为HTTP的底层协议是TCP协议,所以需要通过三次握手先创建连接)
第三步,服务器端会响应给浏览器一个确认连接的信息,并成功建立连接;
第四步,浏览器会将用户所需的请求生成一个HTTP格式的数据包
第五步,发送请求数据包给服务器端;
第六步,服务器端在收到浏览器的数据包后,对数据包进行解析;
第七步,在解析完后,得到所需的请求,执行该请求;
第八步,将执行请求后的内容,生成HTTP格式的数据包;
第九步,将响应数据包发送给浏览器;
第十步,浏览器收到后,解析数据包;
第十一步,浏览器将解析后的内容呈现给用户;
最后一步,通过四次挥手,关闭TCP连接;
补充了解:
HTTP的请求方法
1.GET 获取资源 :通常用于查询资源,并不会对资源产生影响,可以理解为select语句;
2.HEAD 只获取响应头 :与GET方法基本相同,但是不会响应主题内容,只会传输响应头部分;
3.POST 提交数据添加新资源 :用于将数据发往服务器增加新的资源,可以理解为insert语句;
4.PUT 修改资源 :用于将数据保存在请求体的内容中,对原有数据进行修改,当两个请求相同时,第二次的请求会将第下次的请求覆盖掉,可以理解为update语句;
5.DELETE 删除资源 :用于删除指定资源,可以理解为select语句;
6.OPTIONS 查询支持的方法 :用于查询URL能够支持的方法;