Skip to content
  • 去哪查域名对应的IP

DNS服务器(它是服务器,也有ip地址,它的地址是作为TCP/IP设置项设置好的)

  • 谁去查

DNS客户端(操作系统Socket库)

  • 谁发的查的消息

操作系统内部协议栈(UDP消息)

  • 查完了存哪里

存在内存里,浏览器去拿这个ip

  • 查ip的消息里有些什么信息

域名、class(没什么用,都是IN表示互联网)、记录类型(A表示域名对应的是IP地址,MX表示域名对应的是邮件服务器)

ip地址知道了,接下来委托协议栈发送消息

http的工作过程
  • 谁来做

调用Socket库中的程序组件

  • 什么过程
  1. 创建套接字 (上帝说要有一根管子,套接字只是一个概念,不是真的有套接字)
    创建套接字返回描述符(描述符存在内存里用来识别不同的套接字)
    因为有很多不同的数据通信的应用,不一定都是浏览器
  2. 连接(接管子) 客户端的套接字和服务器的套接字连接起来
    (需要3个参数:上一步的描述符、ip地址、端口号)
    注意:这里的描述符是给自己用的,表示自己使用哪一个套接字(哪根管子)连接服务器的哪个端口(哪根管子)
  3. 传数据(送水) 客户端通过Socket库调用write程序组件,送数据
    服务器收到,响应
    客户端通过Socket库调用read程序组件,接响应到内存的缓存区
  4. 关管道
    客户端收到响应后,通过Socket库调用close组件,关闭并删除套接字