zoukankan      html  css  js  c++  java
  • 一、浏览器生成消息(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工作过程。

    渐变 --> 突变
  • 相关阅读:
    oracle自动选择索引
    oracle避免在索引列上使用计算
    oracle强制索引失效
    oracle不明确的索引等级
    oracle等式比较和范围比较
    oracle多个平等的索引
    oracle 基础表的选择
    微信5.0:可定制菜单栏、移动支付、公众账号付费订阅
    微信公众平台消息接口开发(26)从Hello2BizUser文本到subscribe事件
    PHP数组教程
  • 原文地址:https://www.cnblogs.com/lybpy/p/8146505.html
Copyright © 2011-2022 走看看