《网络是怎么连接的》读书笔记

纲要

这本书详细介绍了在浏览器输入URL到显示页面的整个过程,分章节地介绍了这个过程中从 浏览器客户端协议栈、网卡,再到集线器、交换器、路由器再到防火墙、缓存服务器,再到服务器以及返回的的整个过程。

1、解析URL

  • URL通常由协议、域名、端口、文件目录、请求参数构成——http://www.lab.glasscom.com/dir/
  • 解析URL,确定web服务器文件所在的目录需要对文件进行什么样的操作 

2、生成HTTP请求

  • 解析URL后,生成对应的HTTP请求。web服务器收到HTTP请求后发送HTTP响应。

3、DNS解析

  • 操作系统的DNS客户端请求DNS服务器,对域名进行解析,得到对应的IP地址

4、委托操作系统的协议栈,TCP模块创建套接字socket

  • 浏览器把HTTP请求和web服务器的IP委托给操作系统的协议栈,向web服务器发送数据
  • 操作系统的协议栈TCP模块创建套接字socket,与服务器端的套接字socket建立连接后,就可以收发数据了。
  • TCP模块在http报文的基础上添加tcp首部创建TCP数据包,通过三次握手和四次挥手与服务器建立TCP连接和释放连接

5、协议栈的IP模块

  • TCP模块委托IP模块,在tcp报文上添加ip首部,创建IP数据包

6、网卡

  • 最后将IP数据包交给网卡,转化成网线中传输的光电信号,发送出去

7、数据通过集线器、交换机、路由器在网络中传输

8、到达web服务器

  • 服务器接收到这个请求,并根据路径参数映射到特定的请求处理器进行处理,并将处理结果及相应的视图返回给浏览器;

9、浏览器接收响应

  • 浏览器解析渲染页面:浏览器解析并渲染视图,若遇到对 js 文件、css 文件及图片等静态资源 的引用,则重复上述步骤并向服务器请求这些资源;浏览器根据其请求到的资源、数据渲染页面, 最终向用户呈现一个完整的页面。

DNS域名解析的原理

1、DNS客户端(解析器)的工作原理 

  • 为了查询域名对应的IP地址,我们的计算机中有DNS客户端,也叫作解析器。解析器其实就是位于操作系统socket库中的一个程序组件。
  • 解析器携带域名向DNS服务器发送查询请求,DNS服务器的响应消息中就含有域名对应的IP地址。
  • 解析器取出IP地址后,放入浏览器指定的内存中,下一次再向相同域名的web服务器发送请求时,就可以直接从浏览器指定内存中取出对应IP地址。

2、DNS服务器工作原理

  • DNS服务器中维护一张表,表中有记录的域名和它对应的IP信息。DNS客户端(解析器)发送查询请求后,DNS服务器只需要返回对应的IP地址就可以了。
  • 但是网络中有很多服务器,不可能域名都存放在一台DNS服务器中。DNS服务器采用分层的结构来保存域名的,因此一个域名其实是分布式地存储在多台DNS服务器上的。
  • 例如www.baidu.com,域名是通过 . 来分层的,对应着不同层级的DNS服务器,越靠右代表层级越高。低层级的DNS服务器会事先在高层级DNS服务器中注册它的IP。
  • 1、首先查询最近的一台DNS服务器,从而找到根域服务器。
  • 2、从根域服务器中查找 com域DNS服务器的IP地址,从而找到com域DNS服务器
  • 3、从com域DNS服务器中找到baidu.comDNS服务器
  • 4、以此类推,最终找到完整域名所存放的DNS服务器,取出对应IP

 域名缓存

  • DNS服务器中有缓存功能, 会把缓存之前查询过的域名。
  • 通过自顶而下来一层一层查询DNS服务器的过程中,如果中途某个DNS服务器已经缓存了该域名,可以直接返回响应,不需要继续向下一级DNS服务器查询。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值