计算机网络知识串联:使用浏览器访问一个网址的过程解析

在浏览器中输入 https://www.baidu.com后会发生什么 ?

步骤如下:

  1. 系统自动在本地寻找hosts文件,该文件在Sysem32/etc下,如果该文件中已经记录该域名对应的IP地址则直接访问IP,没有的话执行域名解析。域名解析,请求配置的DNS服务器,经过DNS服务器解析后获得一个目标IP地址。
  2. 准备访问目标IP,通过80号端口和按照Http协议生产一个报文。
  3. 访问IP,从上层的应用层已经生成的报文到传输层,网络层,物理层,层层装包生成最终报文,最后将数据发送出去。
  4. 寻找路由,从默认网关到路由器,再到下一跳路由器.......在网络中多次转发,最后到达百度的服务器。
  5. 找到百度的服务器后等待百度主机的防火墙等等验证。
  6. 百度服务器接受请求,并从物理网到应用层,层层拆包并检验数据,最后获得最终信息。
  7. 应用层解析后开始生成对应的HTML文件,装包并将文件数据返回给客户机。
  8. 主机经过网络的层层转发后收到了百度主机发来的HTML文件,拆包后交给浏览器,浏览器根据HTML文件进行渲染,最后生成页面。

只考虑到网络层的话:

  1. 根据域名,进行DNS域名解析。
  2. 拿到解析的IP地址,建立TCP连接
  3. 发送HTTP请求
  4. 服务器处理请求
  5. 返回HTTP报文
  6. 关闭TCP连接
  7. 浏览器解析HTML
  8. 浏览器渲染页面

 

知识点1:DNS

首先,我们输入的网址是域名。

由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。

DNS协议:

Domain Name Service 域名查询服务:
        
DNS是一套分布式的域名服务系统,每个DNS服务器上都存放着大量的机器名和IP地址的映射,并且是动态更新的,众多网络客户端都使用DNS协议来向DNS服务器查询目标主机的IP地址。

访问DNS服务的过程:
        
要访问DNS服务,首先要知道DNS服务器的IP地址,本机中有存放DNS服务器的IP地址的文件。其中两个IP地址分别是首选DNS服务器地址和备选DNS服务器地址。Linux下常访问DNS服务器的客户端程序是host。 $ host -t A www.baidu.com可以获得百度的IP地址。

 

知识点2:

应用层的http协议:请求和应答,长连接和短连接

HTTP协议【特点、Cookie和Session机制、长连接和短连接、请求和响应报文】

 

知识点3:

传输层的TCP连接: 三次握手、四次挥手、保活机制 

TCP协议详解【头部信息、状态转移、数据流、拥塞控制】

 

知识点4:

网络层的IP:转发

IP协议详解【IP报文头部结构、IP分片、IP路由、IP转发】

 

知识点5:

考虑表示层的加密问题

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值