分析浏览器输入域名到网页显示出来这个过程
2015-07-04 00:07
393 查看
1.例如我们在浏览器中输入www.hactcm.edu.cn并回车,首先浏览器会在本地hosts文件(位于C:\Windows\System32\drivers\etc)中查找,查看是否存在这个域名和其对应的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:\Windows\System32\drivers\etc下找到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请求来获取这些东西。当网速较慢时,我们明显能感受到这个过程,一般是网页的文字先显示出来,然后是页面的样式布局显示出来,最后是图片显示出来。
①我先对www.hactcm.edu.cn进行ping命令测试,然后得知IP地址是211.69.32.50,用ipconfig /all命令得知DNS地址为211.69.32.10。
这个时候访问该网站,我们发现网站能够正常访问。
②此时我再将DNS随便改一个值1.1.0.0,再去访问这个网站发现不能正常访问。
③此时在C:\Windows\System32\drivers\etc下找到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请求来获取这些东西。当网速较慢时,我们明显能感受到这个过程,一般是网页的文字先显示出来,然后是页面的样式布局显示出来,最后是图片显示出来。
相关文章推荐
- 2015年7月VIP内推前端工程师面试经历
- Asynctask解析以及注意事项
- hdu 3473 划分树 ***
- Linux 关于动态链接库以及静态链接库的一些概念
- 上一篇的bootloader————>重定位nand
- 7.加载器代码与用户代码
- Leetcode 之 Unique Paths
- php 遍历 excel文件。
- 游戏设想_无厘头
- Linux makefile 教程 非常详细,且易懂
- 经理评分项目
- Android获取短信验证码的实现方法
- Python中几个比较常见的名词解释
- php使用Session和文件统计在线人数
- Cygwin中安装PHP方法步骤
- Ubuntu下安装PHP的mongodb扩展操作命令
- phpMyAdmin安装并配置允许空密码登录
- 程序员面试最重要注意哪些?
- MongoDB的一些常用查询方法
- ARM 指令集版本和ARM 版本