一次完整的HTTP服务过程

题意分析

当我们在web浏览器的地址栏中输入 www.baidu.com 具体发生了什么?

  1. 对 www.baidu.com 这个网址进行DNS域名解析,得到对应的IP地址
  2. 根据这个IP,找到对应的服务器,发起TCP的三次握手
  3. 建立TCP连接后发起HTTP请求
  4. 服务器响应HTTP请求,浏览器得到html代码
  5. 浏览器解析html代码,并请求html代码中的资源(如js、css、图片等)
  6. 浏览器对页面进行渲染呈现给用户
  7. 服务器关闭TCP连接

注意:

  1. DNS怎么找到域名的?
    DNS域名解析采用的是递归查询的方式,过程是,先去找DNS缓存,缓存找不到就去找根域名服务器,根域名服务器又去找下一级,这样递归查找之后,直到找到然后给我们的web浏览器

  2. 为什么HTTP协议要基于TCP来实现?
    TPC是一个端到端的可靠的面向连接的协议,HTTP基于传输层TCP协议不用担心数据传输过程出错,出错后会重传

  3. 浏览器是如何对页面进行渲染的?
    a、解析html文件构成DOM树
    b、解析CSS文件构成渲染树
    c、边解析边渲染

各个步骤具体细节

DNS解析

  1. 首先会搜索浏览器自身的DNS缓存(缓存时间比较短,大概只有1分钟,且只能容纳1000条缓存)
  2. 如果浏览器自身的缓存里没有找到,那么浏览器会搜索系统自身的DNS缓存
  3. 如果还是没有找到,那么尝试从hosts文件里面去找
  4. 前面三个过程都没有获取到的情况下,就递归去域名服务器查找
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容