云服务器免费试用

一个完整的HTTP请求过程

服务器知识 0 367

一个完整的HTTP请求过程

一个完全的HTTP要求进程应包括HTTP事务=要求命令+响应结果

一个完整的HTTP请求过程

一次完全的要求进程:

(1)域名解析

(2)建立TCP连接,三次握手

(3)Web浏览器向Web服务端发送HTTP要求报文

(4)服务器响应HTTP要求

(5)浏览器解析HTML代码,并要求HTML代码中的资源(JS,CSS,图片)(这是自动向服务器要求下载的)

(6)浏览器对页面进行渲染显现给客户

(7)断开TCP连接

一、浏览器根据域名解析IP地址

浏览器根据访问的域名找到其IP地址。DNS查找进程以下:

浏览器缓存:首先搜索浏览器本身的DNS缓存(缓存的时间比较短,大概只有1分钟,且只能容纳1000条缓存),看本身的缓存中是否是是有域名对应的条目,而且没有过期,如果有且没有过期则解析到此结束。

系统缓存:如果浏览器本身的缓存里面没有找到对应的条目,那末浏览器会搜索操作系统本身的DNS缓存,如果找到且没有过期则停止搜索解析到此结束。

路由器缓存:如果系统缓存也没有找到,则会向路由器发送查询要求。

ISP(互联网服务提供商)DNS缓存:如果在路由缓存也没找到,最后要查的就是ISP缓存DNS的服务器。

二、浏览器与WEB服务器建立一个TCP连接

三、浏览器给WEB服务器发送一个HTTP要求

一个HTTP要求报文由要求行(requestline)、要求头部(headers)、空行(blankline)和要求数据(requestbody)4个部份组成。

四、服务器端响应HTTP要求,浏览器得到HTML代码

HTTP响应报文由状态行(statusline)、相应头部(headers)、空行(blankline)和响应数据(responsebody)4个部份组成。

五、浏览器解析HTML代码,并要求HTML代码中的资源

浏览器拿到HTML文件后,开始解析HTML代码,遇到静态资源时,就向服务器端去要求下载。

六、关闭TCP连接,浏览器对页面进行渲染显现给用户

浏览器利用自己内部的工作机制,把要求到的静态资源和HTML代码进行渲染,显现给用户。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942@qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 一个完整的HTTP请求过程
本文地址: https://solustack.com/5306.html

相关推荐:

网友留言:

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。