浏览器通过http获取服务器资源的过程

在 HTTP 客户端向服务器发送报文之前,需要用在客户端服务器之间建立一条 TCP/IP 连接

要想建立TCP/IP 连接连接,需要知道服务器的 IP 地址以及与服务器上运行的特定软件相关的 TCP 端口号

但最初怎么获得 HTTP 服务器的 IP 地址和端口号呢?

当然是通过 URL 了!我们前面曾提到过,URL 就是资源的地址,所以自然能够为我们提供存储资源的机器的 IP 地址。我们来看几个 URL:

http://207.200.83.29:80/index.html

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

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

第一个 URL 使用了机器的 IP 地址,207.200.83.29 以及端口号 80。

第二个 URL 没有使用数字形式的 IP 地址,它使用的是文本形式的域名,或者称为主机名www.netscape.com)。

  主机名就是 IP 地址比较人性化的别称

  可以通过一种称为域名服务(Domain Name Service,DNS)的机制方便地将主机名转换为 IP 地址,这样所有问题就都解决了。

最后一个 URL 没有端口号。HTTP 的 URL 中没有端口号时,可以假设默认端口号是 80

有了 IP 地址和端口号,客户端就可以很方便地通过 TCP/IP 进行通信了。

 

浏览器是怎样通过 HTTP 显示位于远端服务器中的某个简单 HTML 资源的?

步骤如下:

(a) 浏览器从 URL 中解析出服务器的主机名;

(b) 浏览器通过域名解析机制将服务器的主机名转换成服务器的 IP 地址;(如何直接使用了IP而不是域名,a,b步骤可省略)

(c) 浏览器将端口号(如果有的话)从 URL 中解析出来;

(d) 浏览器通过IP地址和端口号建立一条与 Web 服务器的 TCP 连接;

(e) 浏览器向服务器发送一条 HTTP 请求报文;

(f) 服务器向浏览器回送一条 HTTP 响应报文;

(g) 关闭连接,浏览器显示文档。

原文地址:https://www.cnblogs.com/gaoBlog/p/11555616.html