一、浏览器生成消息(2)

2、向 DNS server查询 web server 的 IP

qq浏览器解析网址并生成HTTP消息,然后根据域名查询 IP 地址,然后浏览器提供给 OS IP 地址并委托其发送消息。

(1)、了解 IP 地址

网络由很多小的子网(上学时宿舍用的交换机连接多台电脑成小子网),通过路由器(范围更大)连接起来组成一个大的网络。

在网络中,所有设备都会被分配一个地址即IP地址,通过IP地址可判断出目标服务器的位置,从而将消息发到服务器。

实际的 IP 地址是一串32bit(4字节)的数字,8bit(1字节)一组分为四组,分别用十进制表示再用原点隔开。

(2)、获取IP

浏览器调用OS中socket库中的dns解析器(一段程序),向DNS server请求查询域名对应IP,DNS server 会从域名与IP地址的对照表中查找相应的记录(这是一场接力赛,客户端先找到最近一台DNS server即客户端的TCP/IP设置中填写的DNS server 地址 --> 根DNS server --> 下级DNS server --> ... --> 目标DNS server),并返回IP地址,OS收到响应后取出IP放入响应内存中,浏览器从内存中取出IP地址。

3、委托协议栈发送消息

输入网址后回车,qq浏览器解析网址并生成HTTP消息,然后根据域名向 DNS server 查询 IP 地址,然后浏览器提供给 OS IP 地址并委托 OS 内部的协议栈向目标IP发送消息。

要发送给web服务器的HTTP消息是一种数字信息,因此也可以说是委托协议栈来发送数字信息。

(1)、数据收发操作概览

向OS内部的协议栈发出委托时,需要按照指定顺序来调用socket库中的程序组件。

收发数据操作如下,都是委托OS的协议栈执行:

  1. 创建套接字(创建套接字阶段)
  2. 将管道连接到服务器端的套接字上(连接阶段)
  3. 收发数据(通信阶段)
  4. 断开管道并删除套接字(断开阶段)

这就是HTTP工作过程。

渐变 --> 突变
原文地址:https://www.cnblogs.com/lybpy/p/8146505.html