码迷,mamicode.com
首页 > Web开发 > 详细

HTTP

时间:2017-09-07 22:56:33      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:页面   域名   自己   静态资源   参数   域名解析   服务   运营   返回   

想象用浏览器打开imooc.com网站,HTTP走过的环节:

1.首先,是对imooc.com域名解析,
  (1.1)浏览器搜索浏览器自身的DNS缓存。
  (1.2)如果浏览器没有找到自身的DNS缓存或之前的缓存已失效,那么浏览器会搜索操作系统自身的DNS缓存。
  (1.3)如果操作系统的DNS缓存也没有找到,那么系统会尝试在本地的HOST文件去找。
  (1.4)如果在HOST里依然没有找到,浏览器会发起一个DNS的系统调用,即一般向本地的宽带运营商发起域名解析请求。这后面又可以试情况分很多步骤,第一,宽带运营商服务器会首先查看自身的缓存,看是否有结果,如果没有,那么运营商服务器会发起一个迭代DNS解析请求(根域,顶级域,域名注册商),最终会返回对DNS解析的结果。运营商服务器然后把结果返回给操作系统内核(同时也缓存在自己的缓存区),然后操作系统把结果返回给浏览器。
  (1.5)以上的最终结果,是让浏览器拿到imooc.com的IP地址,DNS解析完成。

2.然后,在浏览器获得域名的IP地址后,发起“三次握手”,建立TCP/IP连接。

3.在TCP/IP连接建立起来后,浏览器就可以向服务器发送HTTP请求了。比如,用HTTP的GET方法请求一个根域里的某个域名,协议可以采用HTTP 1.0 。

4.服务器端接受这个请求,根据路径参数,经过后端的一些处理之后,把处理后的一个结果以数据的形式返回给浏览器,如果是imooc.com网站的页面,服务器就会把完整的HTML页面代码返回给浏览器。

5.浏览器拿到了imooc.com这个网站的完整HTML页面代码,在解析和渲染这个页面的时候,里面的Javascript、CSS、图片等静态资源,它们同样也是一个个HTTP请求,都需要经过上面的步骤来获取。

6.浏览器根据拿到的资源对页面进行渲染,最终把一个完整的页面呈现出来。

HTTP

标签:页面   域名   自己   静态资源   参数   域名解析   服务   运营   返回   

原文地址:http://www.cnblogs.com/sunmarvell/p/7492179.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!