客户端浏览器向服务器发起http请求的全过程

http协议的参考:http://blog.csdn.net/hefeng6500/article/details/75081047

(1)浏览器先搜索自身的DNS缓存


(2)操作系统搜索自身的DNS缓存(浏览器没有找到缓存或者缓存已经失效)


(3)读取本地的HOST文件


(4)浏览器发起一个DNS的一个系统调用


         宽带运营商服务器查看本身缓存


         查看本身缓存,没有?--->运营商服务器发起一个迭代DNS解析的请求

运营商服务器向根域服务器发起请求xxx.com的ip地址是多少?根域回复:我不知道,但我知道com域顶级域名的ip地址,你问它;
运营商服务器向com域顶级域名服务器请求xxx.com的ip地址是多少?com域服务器回复:我不知道,但我知道xxx.com这个域的ip地址;
运营商服务器xxx.com这个域服务器(域名的注册商提供的)发起请求xxx.com的ip地址是多少?xxx.com这个域服务器:结果发送给运营商DNS服务器,
运营商DNS服务器拿到了ip地址,返回给操作系统内核,再返回给浏览器;


         运营商服务器把结果返回操作系统内核同时缓存起来


         操作系统内核把结果返回浏览器


         浏览器就拿到了www.imooc.com的IP地址
(5)浏览器获得域名对应的IP地址后,发起HTTP“三次握手”


(6)TCP/IP链接建立起来后,浏览器就可以向服务器发送HTTP请求了


(7)服务器端接受到了这个请求,根据路径参数,经过后端的一些处理之后,把处理后的结果数据返回给浏览器,比如页面完整的html代码等返回给浏览器


(8)浏览器拿到了完整的html代码后,在解析和渲染这个页面的时候,里面的JS,CSS,图片静态资源,他们同样也是一个个http请求,都要经过上面的主要七个步骤。


(9)浏览器根据拿到的资源对页面进行渲染,最终把一个完整的页面呈现给了用户。



你可能感兴趣的:(Http)