一个完整的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代码进行渲染,显现给用户。
TikTok千粉号购买平台:https://tiktokusername.com/
TOP