• 浏览器地址栏按回车发生了什么事情


    1、查找域名对应的ip地址

      首先去浏览器缓存中找,如果不久前刚刚输入过,那么在缓存会留下ip地址,缓存周期一般在几分钟到半小时

      查找系统缓存(host文件),浏览器进行系统调用(windows中是gethostbyname)

      查找路由缓存,前两步都不需要网络,这里需要用到网络,路由器上有自己的DNS缓存,这是ISP互联网提供商在路由器留下的DNS缓存

      递归查找ISP的DNS服务器 (这才是真正的第三方DNS服务器)

      本地域名服务器向根域名服务器的查询是迭代查询。

    2、浏览器和服务器经过三次握手建立TCP连接

      浏览器发送请求报文,服务器确认请求并返回给浏览器确认信息,浏览器收到确认信息,再发一次请求告诉服务器收到刚才的服务器确认信息。建立通信

      

    引申:为什么要有第三次握手,防止已失效的请求报文段突然又传送到了服务端而产生连接的误判

    3、浏览器通过http协议发送请求

    4、服务器处理请求

    5、发出HTML响应   (有时候为了负载均衡或者导入流量来提高SEO优化,会返回一个永久重定向301,这时候在Location找到重定向地址,重复上述操作)

    6、四次挥手释放TCP连接

    四次挥手(和地址栏发生的事情无关),由于TCP是双全工的也就是双通道,需要双通道都单独关闭

      

    1.     浏览器所在主机向服务器发出连接释放报文,然后停止发送数据;

    2.     服务器接收到释放报文后发出确认报文,然后将服务器上未传送完的数据发送完;

    3.     服务器数据传输完毕后,向客户机发送连接释放报文;

    4.     客户机接收到报文后,发出确认,然后等待一段时间后,释放TCP连接;

    7、浏览器渲染页面

    8、获取图片url、js的src资源

  • 相关阅读:
    Python + unittest + HTMLTestRunnerCN 生成接口自动化测试报告
    python 读写操作CSV文件
    with关键字
    Django常规命令大全
    科技阅读与写作资料
    Topics in Service Computing
    学习总结100515
    【论文收集】PQDT硕博库中的搜索结果service composition
    毕业开题结束感想
    excle操作备忘
  • 原文地址:https://www.cnblogs.com/wchjdnh/p/10815160.html
Copyright © 2020-2023  润新知