HTTP请求/响应的步骤

浏览器中输入URL(网址)后,执行的全部过程:

域名解析:客户端浏览器通过DNS服务器将网址解析成IP地址;

  浏览器搜索自身的DNS缓存,若没有找到则依次去下一个中进行搜索,搜索顺序为:浏览器的DNS缓存;系统的DNS缓存;hosts文件;域名服务器;

 

客户端和服务端建立TCP连接:通过IP地址和端口号(客户端随机选择一个端口,服务端采用80端口(HTTP端口)监听客户端的请求),客户端和服务端建立TCP连接;

  三次握手:https://www.cnblogs.com/yongjin-hou/p/14357751.html

 

客户端发送HTTP请求:通过TCP套接字,客户端向服务端发起HTTP请求(请求报文—由请求行、请求头、空行和请求数据组成);

  请求行:客户端的请求方式,请求的资源名称和使用的HTTP协议的版本号;

  请求头:客户端请求哪台主机,以及客户端的一些信息;

  请求数据:当使用POST, PUT等方法时,通常需要客户端向服务器传递数据。

 

服务端发送HTTP响应:通过TCP套接字将HTTP响应发送给客户端(响应报文—由响应行、响应头、空行和响应数据组成);

  状态码:状态码,服务器对HTTP请求的处理结果;

  响应头:服务器的基本信息,以及客户端如何处理数据;

  响应数据:服务器返回给客户端的数据。

 

释放TCP连接:若connection模式为close,服务端主动关闭TCP连接,客户端被动关闭TCP连接;若connection模式为keepalive,则连接会保持一段时间,该时间段内服务端还可以继续接收HTTP请求;

  四次挥手:https://www.cnblogs.com/yongjin-hou/p/14358587.html

 

客户端解析HTML文件:客户端浏览器解析响应报文的状态行,查看请求是否成功的状态代码;解析响应头部,等到HTML文档的字节数和字符集;读取响应数据HTML代码,并请求HTML代码中的资源,浏览器对页面进行渲染后呈现给用户。

 

HTTP请求/响应的步骤

上一篇:HTML 5 详解之页面结构分析


下一篇:js 常用类和方法