从键入 www.163.com 到页面完全显示出来中间经历了那些过程? 本帖最后由 LENOVO_ 于 2010-07-09 11:50:47 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、DNS解析2、按照HTTP协议向服务器发出资源为“/”(网站主页)的请求 HTTP请求,然后下面走TCP/IP协议,服务器返回对应的数据包,交给上层处理时,变回HTTP包,浏览器解析,显示出来html页面等 通俗一点讲,大致有以下几个步骤:1、浏览器把网址发给DNS服务器,2、服务器把网址翻译成真正的HTTP服务器的IP地址返回给浏览器,3、浏览器再向HTTP服务器提交HTTP请求,4、HTTP服务器返回HTTP代码,5、浏览器再时行解析并显示出来,这就是你看到的网页了。可能说的不是很正确。 http://d.download.csdn.net/down/1010338/yingzisangongfen看看这个对你有没有什么帮助 我觉得你说得很正确不过对于大型网站往往有一个前端服务器,然后收到HTTP请求后会进行重定向,所以也可能是1、浏览器把网址发给DNS服务器,2、服务器把网址翻译成真正的HTTP服务器的IP地址返回给浏览器,3、浏览器再向HTTP服务器提交HTTP请求,4。服务器返回重定向指令5. 浏览器向新得服务器发送http请求6、HTTP服务器返回HTTP代码,7、浏览器再时行解析并显示出来,这就是你看到的网页了。 还能继续深入!比如从检查HOST文件开始~~~ 服务器通常都有负载均衡浏览器还要根据网页解析的结果去请求css, js, 图片等内容 1、本机会首先检查host文件,看看里面有没有163.com对应的IP记录;2、如果没有,准备发送DNS请求,获取163服务器的IP: 首先检查自身ARP缓存,检查网关MAC地址。 如果ARP缓存中没有,则向局域网发送一个ARP请求的要数据包,比如问谁是192.168.1.1 因为在物理层都是通过MAC地址传输数据,所以得到网关路由器的MAC地址。 (比如网络执法管、P2P终结者就是典型的ARP欺骗,他会拦截你的ARP请求,于是XXO) (记住,在局域网传输都是通过MAC寻址) 得到MAC后,本机发送一个DNS请求的数据包,路由器然后在广域网通过IP寻址方式找到DNS服务器,DNS服务器返回该域名的IP。 (记住,在广域网不再是MAC寻址了,而是IP寻址) 这里的MAC寻址和IP寻址,我就不讲了吧!3、得到163的IP后,然后通过HTTP协议请求网页: 本机构造一个HTTP协议数据包,然后再次检查自身ARP缓存,得到网关MAC地址。 如果ARP缓存中没有,则向局域网发送一个ARP请求的要数据包,比如问谁是192.168.1.1 通过MAC寻址,获取到网关MAC后,将HTTP协议的数据包发给路由器,路由器通过IP寻址方式,转交给163服务器。 这时,会产生一个NAT映射(一般路由器默认规则是可以允许内网计算机主动访问外网IP, 而不允许外网计算机主动访问内网IP,这一点也是很多朋友做的聊天软件在局域网可以登录,而经过外网却无法直接通过外网IP连接内网的服务端) 本机 本地网关 广域网 163网关设备 163服务器 192.168.1.100 >> 192.168.1.1 >> 192.168.1.1 >> 192.168.1.100 11.11.11.11 >> 11.11.11.12 5555/80 5555/80 5555/80 检查规则由网关转交给内网 (下面这条IP与端口,本机网关它会记录这条对应的端口映射关系,下次163的80端口返回时 就可以直接返回了给你的路由器,你的路由器不会限制,直接转给你的内网的IP。)4、 163服务器的响应 这时163网关会检测到来自11.11.11.11:5555的数据包,连接本地80端口. 163网关会根据防火墙等规则,最终交给他内网WEB服务器。 WEB服务器的IIS程序会解析你的数据包,然后根据你的数据包,返回对应的数据包给你网关的外网IP。 (这里WEB服务器返回的就是网页源代码文件.由你计算机IE等浏览器解析成网页) 因为在广域网上面是通过IP寻址方式来传输数据,于是会原路返回给你的网关设备,这里网关检测到是 11.11.11.11:5555的数据包,就将数据包发给你网关。(广域网是通过IP寻址的方式传输数据)5、本地接收到数据 首先当然是你的路由器首先接收,由于你主动发出请求的时候,路由器会记录这条“渠道” 下次返回时便直接转发给你的计算机了,本地计算的浏览器,会解析HTTP协议的数据包, 根据数据包,会检查是否要保持当前的连接,如果不需要则关闭连接 于是本次通信完毕。 晕死,这么重要的三次TCP握手居然忘记写上去啦!1、本机与路由器TCP三次握手2、本机与163服务器TCP三次握手 1. DNS解析 www.163.com对应的IP,2. 发起tcp三次据手连接,建立连接完成后,进入3步。3. 发出http请求主页包。4. browser显示html结果。 (【勇敢的心】→ ㊣提拉米苏√㊣) (小周(阿荣Koma周末了,极速飙车的回答都很详细,谢谢了。结贴。 怎样调用API实现对录音音频输入线路的选择(AC97)? 菜鸟问:如何获得拖入CRichEditCtrl的文件的图标? 求教高手,VC++ 6调试问题(50分) 请问,VC++中的SDK在哪里呀?我想学习Win32 编程 怎样得到ChtmlView使用的组件的DC? 请问:怎样才能得到工具栏中一按钮的位置?谢谢 一次性读取图像数据?:( 来看这个最后版本的QQ木马,有源程序给你 对话框背景重绘! 请问怎样从内存中读取图像并转为mat格式? windows VS下有什么好用的图形库啊? 怎么在Windows程序中显示C++的string字符串?
2、按照HTTP协议向服务器发出资源为“/”(网站主页)的请求
1、浏览器把网址发给DNS服务器,
2、服务器把网址翻译成真正的HTTP服务器的IP地址返回给浏览器,
3、浏览器再向HTTP服务器提交HTTP请求,
4、HTTP服务器返回HTTP代码,
5、浏览器再时行解析并显示出来,这就是你看到的网页了。
可能说的不是很正确。
看看这个对你有没有什么帮助
不过对于大型网站往往有一个前端服务器,然后收到HTTP请求后会进行重定向,所以也可能是
1、浏览器把网址发给DNS服务器,
2、服务器把网址翻译成真正的HTTP服务器的IP地址返回给浏览器,
3、浏览器再向HTTP服务器提交HTTP请求,
4。服务器返回重定向指令
5. 浏览器向新得服务器发送http请求
6、HTTP服务器返回HTTP代码,
7、浏览器再时行解析并显示出来,这就是你看到的网页了。
1、本机会首先检查host文件,看看里面有没有163.com对应的IP记录;2、如果没有,准备发送DNS请求,获取163服务器的IP:
首先检查自身ARP缓存,检查网关MAC地址。
如果ARP缓存中没有,则向局域网发送一个ARP请求的要数据包,比如问谁是192.168.1.1
因为在物理层都是通过MAC地址传输数据,所以得到网关路由器的MAC地址。
(比如网络执法管、P2P终结者就是典型的ARP欺骗,他会拦截你的ARP请求,于是XXO)
(记住,在局域网传输都是通过MAC寻址) 得到MAC后,本机发送一个DNS请求的数据包,路由器然后在广域网通过IP寻址方式找到DNS服务器,DNS服务器返回该域名的IP。
(记住,在广域网不再是MAC寻址了,而是IP寻址) 这里的MAC寻址和IP寻址,我就不讲了吧!
3、得到163的IP后,然后通过HTTP协议请求网页:
本机构造一个HTTP协议数据包,然后再次检查自身ARP缓存,得到网关MAC地址。
如果ARP缓存中没有,则向局域网发送一个ARP请求的要数据包,比如问谁是192.168.1.1
通过MAC寻址,获取到网关MAC后,将HTTP协议的数据包发给路由器,路由器通过IP寻址方式,转交给163服务器。 这时,会产生一个NAT映射(一般路由器默认规则是可以允许内网计算机主动访问外网IP,
而不允许外网计算机主动访问内网IP,这一点也是很多朋友做的聊天软件在局域网可以登录,而经过外网却无法直接通过外网IP连接内网的服务端)
本机 本地网关 广域网 163网关设备 163服务器
192.168.1.100 >> 192.168.1.1 >> 192.168.1.1 >> 192.168.1.100
11.11.11.11 >> 11.11.11.12
5555/80 5555/80 5555/80 检查规则由网关转交给内网
(下面这条IP与端口,本机网关它会记录这条对应的端口映射关系,下次163的80端口返回时
就可以直接返回了给你的路由器,你的路由器不会限制,直接转给你的内网的IP。)4、 163服务器的响应
这时163网关会检测到来自11.11.11.11:5555的数据包,连接本地80端口.
163网关会根据防火墙等规则,最终交给他内网WEB服务器。 WEB服务器的IIS程序会解析你的数据包,然后根据你的数据包,返回对应的数据包给你网关的外网IP。
(这里WEB服务器返回的就是网页源代码文件.由你计算机IE等浏览器解析成网页) 因为在广域网上面是通过IP寻址方式来传输数据,于是会原路返回给你的网关设备,这里网关检测到是
11.11.11.11:5555的数据包,就将数据包发给你网关。(广域网是通过IP寻址的方式传输数据)5、本地接收到数据
首先当然是你的路由器首先接收,由于你主动发出请求的时候,路由器会记录这条“渠道”
下次返回时便直接转发给你的计算机了,本地计算的浏览器,会解析HTTP协议的数据包,
根据数据包,会检查是否要保持当前的连接,如果不需要则关闭连接
于是本次通信完毕。
1. DNS解析 www.163.com对应的IP,
2. 发起tcp三次据手连接,建立连接完成后,进入3步。
3. 发出http请求主页包。
4. browser显示html结果。