zoukankan      html  css  js  c++  java
  • 分析浏览器输入域名到网页显示出来这个过程

    1.例如我们在浏览器中输入www.hactcm.edu.cn并回车,首先浏览器会在本地hosts文件(位于C:WindowsSystem32driversetc)中查找,查看是否存在这个域名和其对应的ip地址,假如存在,便开始访问这个ip地址。假如不存在再将域名发送至域名解析服务器,然后域名解析服务器将解析出来的ip地址返回,浏览器再去访问这个地址。下面我们就开始对其进行实验:

    ①我先对www.hactcm.edu.cn进行ping命令测试,然后得知IP地址是211.69.32.50,用ipconfig /all命令得知DNS地址为211.69.32.10。

    这个时候访问该网站,我们发现网站能够正常访问。

    ②此时我再将DNS随便改一个值1.1.0.0,再去访问这个网站发现不能正常访问。

    ③此时在C:WindowsSystem32driversetc下找到hosts文件夹,然后在host文件中添加一条记录。

    ④此时,再去访问www.hactcm.edu.cn,发现网站又能正常访问了。

    2.当浏览器拿到网站所对应的IP地之后,便开始于服务器建立TCP链接(服务器IP地址是211.69.32.50,端口号是80)。下面我们便开始实验进行分析。

    ①当建立tcp链接的时候,路由器得到这个地址后不断的查看转发数据包,我们先用tracert追踪一下每发送一个数据包,需要经过多少路由器。

    ②浏览器与服务器建立TCP连接这个过程我们成为TCP三次握手,我们用抓包工具可以看到这个过程。

    3.之后浏览器向服务器发送请求,服务器得到请求后给出相应,把请求的内容发给浏览器,浏览器解析返回的文件,显示在浏览器上,然后释放TCP链接。下面我们对这个过程进行详细分析。

    ①当建立TCP连接请求后,便开始向服务器发送HTTP请求,而请求又分为GET请求和POST请求,请求信息封装在HTTP请求报文中。请求头的格式如下:

    ②Web服务器通常通过监听80端口,来获取客户端的HTTP请求。web服务器开始接受客户端发来请求后,将返回的信息封装在HTTP响应报文中,并发给浏览器。响应报文头的格式如下:

    ③服务器返回给浏览器数据可能是根据HTML协议组织的网页,里面包含页面的布局、文字。数据也可能是图片、脚本程序等。所以说浏览器需要不断的发送HTTP请求来获取这些东西。当网速较慢时,我们明显能感受到这个过程,一般是网页的文字先显示出来,然后是页面的样式布局显示出来,最后是图片显示出来。

    休对故人思故国 且将新火试新茶 诗酒趁年华
  • 相关阅读:
    如何做实时监控?—— 参考 Spring Boot 实现
    如何做实时监控?—— 参考 Spring Boot 实现
    spring boot application properties配置详解
    Jrebel 6.2.1破解
    智能社-JS -wiki
    hibernate.properties
    Tomcat 的 socket bind failed的解决方法
    js 排序 SORT 各种方法
    java EE 如何使用Eclipse启动一个项目
    2016-06-06 数组的几个重要方法
  • 原文地址:https://www.cnblogs.com/sdadx/p/4620022.html
Copyright © 2011-2022 走看看