用户在浏览器中输入一个url发生的奥秘

时间:2021-01-24 16:23:29

在HTTP 客户端向服务器发送报文之前,需要用网际协议(Internet Protocol,IP)地址和端口号在客户端和服务器之间建立一条TCP/IP 连接。

http://207.200.83.29:80/index.html

http://www.netscape.com:80/index.html

http://www.netscape.com/index.html

  1. 第一个URL 使用了机器的IP 地址,207.200.83.29 以及端口号80。
  2. 第二个URL 没有使用数字形式的IP 地址,它使用的是文本形式的域名,或者称为主机名(www.netscape.com)。主机名就是IP 地址比较人性化的别称。通过一种称为域名服务(Domain Name Service,DNS)的机制方便地将主机名转换为IP地址,这样所有问题就都解决了。
  3. 最后一个URL 没有端口号。HTTP 的URL 中没有端口号时,可以假设默认端口号是80。
  4. 有了IP 地址和端口号,客户端就可以很方便地通过TCP/IP 进行通信了。

基本的浏览器连接处理,如下图所示:

用户在浏览器中输入一个url发生的奥秘

通讯步骤如下:

  1. 浏览器从URL中解析出服务器的主机名;
  2. 浏览器把服务器主机名转换为服务器的IP地址;
  3. 浏览器从URL中解析出与服务器端通讯的端口号(如果存在);
  4. 浏览器建立一条与web服务器的TCP连接;
  5. 浏览器向服务器发送一条HTTP请求报文;
  6. 服务器接收并返回一条HTTP响应报文给浏览器;
  7. 关闭连接,浏览器展示服务器返回的结果页面。