Web前端学习

WEB请求处理之浏览器响应

2019-01-14  本文已影响0人  Renaissance_

作为一个web开发人员,我们需要了解最基本的web信息传递的过程,在面试过程中,我们也会经常遇到http请求之类的问题,因此这篇文章就简要分析了web请求处理的基本过程以及基本原理.


WEB请求处理的基本流程

当我们使用浏览器进行浏览操作的时候,会产生一系列的数据请求。现在浏览器和服务器之间的数据交互是基于B/S架构的,而这种架构是建立在HTTP请求的基础上的,当我们在浏览器的地址栏中输入一个网页的地址后,会触发一些列事件,如下图所示:

基本流程如下:

以上就是我们访问网页时会触发的一系列事件,也是web请求处理的基本流程,接下来对几个概念详细介绍.


TCP协议以及三次握手和四次挥手

TCP协议是OSI七层协议中传输层的一项协议,它是一种面向连接的可靠交付的数据传输协议,和UDP用户数据报协议不同的是,它需要建立连接,并且需要无差错和可靠地交付数据。通过TCP建立连接,需要经过三次握手,关闭TCP连接需要四次挥手。

OSI七层模型中TCP处于的层级位置如图所示

TCP三次握手

TCP建立连接是为了可靠地传输数据,因此建立过程比较复杂,以确保可靠地传输数据。具体流程如下图所示:

TCP四次挥手

当数据传输成功后需要关闭连接,这就是TCP四次挥手。四次挥手比握手还要复杂,具体流程如下图所示:

在这个过程中,为什么会涉及到四次挥手呢,这是因为在客户端发送主动关闭连接请求时,服务器端收到关闭请求并返回确认收到请求报文,但是服务器不会立即关闭,因为在这个时间段内可能还会有数据传送,服务器端会继续传送数据给客户端,当没有数据传送时,服务器端会主动发送报文给客户端请求关闭,等待客户端返回确认时服务器端就进入了close状态。


HTTP协议

从上面的OSI七层模型中我们可以看到HTTP处于七层协议中的应用层,也就是最接近用户的一层。它主要是处理WEB数据请求,它是无状态无连接的协议。无状态是指上一次传送的数据是没有存储下来的,下一次操作获取不到上次的数据。无连接是指需要请求数据时才会建立连接,否则处于无连接状态。在WtEB请求处理过程中,我们主要是关心HTTP请求头和响应头还有就是状态码.

下面是使用FIDDLER抓包工具抓取的请求包
CONNECT www.baidu.com:443 HTTP/1.1
Host: www.baidu.com:443
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36


DNS域名解析服务器

人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是多对多的关系,一个ip地址不一定只对应一个域名,且一个域名可以对应多个ip地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。

由于DNS域名解析有些复杂,本文章就不就过多的讲解。


总结:以上就是web请求处理中浏览器响应的相关知识,由于涉及到的 知识太多因此没哟很详细的将解,只将解了部分的重要内容,待到以后学习加深,进一步完善。

上一篇 下一篇

猜你喜欢

热点阅读