从浏览器中输入url地址到浏览器中显示网页内容 的过程分析

来源:互联网 发布:淘宝号注册马上注册 编辑:程序博客网 时间:2024/05/16 11:30

此文是我总结了一些经验和各种大神知识综合而成的。


 1.首先当然是浏览器红输入url地址,
           但是当你输入baidu 为什么最终的URL地址是www.baidu.com呢?
           当你输入baidu的时候,在url的后面是不是默认的给你添加上.com,如果是这样,哈哈,那这第一步就是没有错误的。
           当你的URL编程baidu.com的时候,baidu.com是一个一级域名,那你访问一个域名的时候,在Apache或者nginx上面的配置中就会给你访问一个默认的二级域名(当你没有写完整时),这中间的过程十分的复杂,因为你直接访问baidu.com和访问www.baidu.com不仅仅是名字上的差别,而涉及到了一个重定向的问题,有想深入的孩子可以多查阅一下资料,或者也可以和我交流


2.输入你的url地址之后,浏览器就开始好好工作了,寻找浏览器缓存(可以从浏览器缓存中取数据),系统缓存,路由器(有时候也叫DNS缓存)缓存,看看有没有缓存过这个url中的信息啊,这对于快速反应有着很大的帮助,有缓存就可以直接调用缓存了,没有的话就去访问DNS服务器吧
           浏览器缓存参考:点击打开链接  http://blog.csdn.net/longxibendi/article/details/41630389
           DNS缓存:首先客户机将域名查询请求发送到本地DNS服务器,本地DNS服务器先在之前的记录(缓存)中查找,如果有缓存,则直接利用缓存进行解析,如果没有缓存,则进入本地的缓存的寻找。
           本地缓存:如果本地服务器不能在本地找到缓存,则将请求发送到根域名DNS服务器(全球13台呢哈哈哈)
           本地服务器与网络服务器:本地服务器是内部局域网的设备才能访问,没有公网的IP,网络服务器有公网IP,属于城域网更大的巴拉巴拉,即属于internet


3.请求终于来到了DNS服务器,DNS服务器将域名解析成IP地址,
           域名解析:由于网络识别不认识什么域名,这些都是字符组合的,计算机当然不认识,IP地址就认识了,域名解析就是将域名转化成ip地址
           DNS:domain name system 域名系统 
                        域名为什么存在呢,就是看一串ip地址会很难记住啊,就有了域名
           域名结构:我们来看一个域名  
                          .com 顶级域名 这是全球顶级域名
                          baidu.com 这是一级域名,一级域名就是在顶级域名前面加上一级
                          www.baidu.com  这是二级域名,百度的二级域名很多,还有tieba.baidu.com等等,可以上网搜一搜
           http://:大家基友疑问了,这不是域名吗?这是一种传输协议,还有很多其他的传输协议,就是网上传输东西的时候遵循的原则
           IP地址:互联网上面的每一台主机有一个属于自己的IP地址,用来屏蔽物理性的差异,IP地址就像现实中的住址一样,有了IP就有了目标地了。

4.浏览器有了IP就可以找到服务器,两者之间就可以建立TCP连接,服务器需要和浏览器建立tcp三次握手(打好招呼,要来一发数据了)
           TCP连接参考点击打开链接:http://blog.163.com/hlz_2599/blog/static/142378474201151943414397/
           三次握手:简化版:  甲:你瞅啥  乙:瞅你咋地  甲:不服来一发啊    甲和乙就来一发数据了。
                           参考:http://blog.csdn.net/whuslei/article/details/6667471/ (三次握手+四次握手)

5.握手成功后,就可以来一发数据了,不过首先浏览器得向服务器发送http请求(如果是http协议)和请求数据包
           http请求就是用什么版本的协议请求,请求的方式是什么,你想要什么数据,这些数据是什么格式,
           http请求参考:http://canrry.iteye.com/blog/1331292
                                 http://www.cnblogs.com/loveyakamoz/archive/2011/07/22/2113614.html

6.请求通过网络,服务器收到了请求,进行处理后,将需要的数据(http响应头)返回浏览器
           有请求就要响应,那服务器通过物理地址的取数据和逻辑处理,将数据以响应头的形式返回
           数据在网络中传输的过程十分复杂,网络中传输一共有7层,每一层数据的形式有有所差异
           数据包网络的传输参考:http://www.tuicool.com/articles/F3Qvie3
                                               http://www.cnblogs.com/hnrainll/archive/2012/11/07/2758191.html
           http响应头参考:http://canrry.iteye.com/blog/1331292

7.浏览器收到http响应头,此时就要读取数据了,进行浏览器渲染,解析html代码巴拉巴拉,这里我也不是很懂,希望大家积极浏览交流!
               
1 0