在浏览器中输入一个网站后,都发生了什么
2014-11-17 23:30
232 查看
以下仅是我对此的个人理解,如有错误,请一定指出,立马修改。
当我们打开了一个浏览器,在地址栏输入一个网址时,例如:www.baidu.com。
此时,我们的电脑会发送一个请求数据包到百度。
但是,www.baidu.com仅仅是一个域名,我们并不知道它的服务器具体在哪,所以此时就需要将域名转换为IP地址。
利用DNS协议,已知DNS服务器为8.8.8.8,于是我们向这个地址发送一个DNS数据包(53端口)。
然后,DNS服务器做出响应,告诉我们www.baidu.com的IP地址是202.108.22.5。
其次,我们还需要知道百度服务器的MAC地址。
首先,我们根据自己的子网掩码和IP地址进行与运算,得到一个结果A,再将子网掩码和对方的IP地址与运算,得到结果B,如果A等于B,则我们的数据包里写入的接收方MAC地址则是对方服务器的MAC地址,否则写入的接收方MAC地址则是当前网关的MAC地址(MAC地址通过ARP协议获得)。
因为浏览网页用的是HTTP协议,他是基于TCP协议的,所以HTTP数据包里嵌有TCP数据包。
TCP协议里包含双方的端口信息,接收方HTTP默认端口为80,而发送方的HTTP端口是一个随机生成的整数。
并且TCP数据包里再嵌入IP数据包,IP数据包里包含了双方的IP地址。
最后,IP数据包嵌入以太网数据包,以太网数据包里包含了双方的MAC地址。
经过多个网关的转发,百度服务器接收到了你发送的数据包,然后做出回应,再用TCP协议发回来。
当我们接收到后,就可以在网页上显示出来了,这就完成了一次通信。
当我们打开了一个浏览器,在地址栏输入一个网址时,例如:www.baidu.com。
此时,我们的电脑会发送一个请求数据包到百度。
但是,www.baidu.com仅仅是一个域名,我们并不知道它的服务器具体在哪,所以此时就需要将域名转换为IP地址。
利用DNS协议,已知DNS服务器为8.8.8.8,于是我们向这个地址发送一个DNS数据包(53端口)。
然后,DNS服务器做出响应,告诉我们www.baidu.com的IP地址是202.108.22.5。
其次,我们还需要知道百度服务器的MAC地址。
首先,我们根据自己的子网掩码和IP地址进行与运算,得到一个结果A,再将子网掩码和对方的IP地址与运算,得到结果B,如果A等于B,则我们的数据包里写入的接收方MAC地址则是对方服务器的MAC地址,否则写入的接收方MAC地址则是当前网关的MAC地址(MAC地址通过ARP协议获得)。
因为浏览网页用的是HTTP协议,他是基于TCP协议的,所以HTTP数据包里嵌有TCP数据包。
TCP协议里包含双方的端口信息,接收方HTTP默认端口为80,而发送方的HTTP端口是一个随机生成的整数。
并且TCP数据包里再嵌入IP数据包,IP数据包里包含了双方的IP地址。
最后,IP数据包嵌入以太网数据包,以太网数据包里包含了双方的MAC地址。
经过多个网关的转发,百度服务器接收到了你发送的数据包,然后做出回应,再用TCP协议发回来。
当我们接收到后,就可以在网页上显示出来了,这就完成了一次通信。
相关文章推荐
- 【转】在浏览器中输入一个网站后,发生了什么?
- 当在浏览器中输入一个url后回车,后台发生了什么?比如输入url后,你看到了百度的首页,那么这一切是如何发生的呢?
- 当在浏览器中输入一个url后回车,后台发生了什么?比如输入url后,你看到了百度的首页,那么这一切是如何发生的呢?
- 当在浏览器地址栏输入一个URL后回车,实际发生了什么
- 在浏览器中输入一个网址后,发生了什么?
- 当你在浏览器输入一个网址,如http://www.taobao.com,按回车之后发生了什么?
- 在浏览器输入一个网址,按回车之后发生了什么
- 解释一下,在你往浏览器中输入一个URL后都发生了什么,要尽可能详细
- 当在浏览器地址栏输入一个网址的时候,究竟发生了什么?
- 当你在浏览器地址栏输入一个URL后回车,页面出现之前发生了什么?
- 当在浏览器中输入一个url后回车,后台发生了什么?
- 浏览器中输入一个url后回车,后台发生了什么
- 当在浏览器地址栏输入一个网址的时候,究竟发生了什么?
- 解释一下,在你往浏览器中输入一个URL后都发生了什么,要尽可能详细(转)
- 在你往浏览器中输入一个URL后都发生了什么
- 在浏览器中输入一个URL后都发生了什么
- 当在浏览器中输入一个url后回车,后台发生了什么?
- (笔试题)当在浏览器中输入一个url后回车,后台发生了什么?比如输入url后,你看到了百度的首页,那么这一切是如何发生的呢? .
- 在浏览器内输入一个内容发生了什么
- 在浏览器输入一个网址,按回车之后发生了什么?