http详解--------TCP/IP

HTTP 是个应用层协议。HTTP 无需操心网络通信的具体细节;它把联网的细节都交给了通用、可靠的因特网传输协议 TCP/IP

1)TCP/IP

TCP 提供了:

 •无差错的数据传输;
 •按序传输(数据总是会按照发送的顺序到达) ;
 •未分段的数据流(可以在任意时刻以任意尺寸将数据发送出去) 。 


因特网自身就是基于 TCP/IP 的,TCP/IP 是全世界的计算机和网络设备常用的层次化分组交换网络协议集。TCP/IP 隐藏了各种网络和硬件的特点及弱点,使各种类型的计算机和网络都能够进行可靠地通信。

只要建立了 TCP 连接,客户端和服务器之间的报文交换就不会丢失、不会被破坏,也不会在接收时出现错序了。

用网络术语来说,HTTP 协议位于 TCP 的上层HTTP 使用 TCP 来传输其报文数据。与之类似,TCP 则位于 IP 的上层

http详解--------TCP/IP_第1张图片


2)连接、IP地址及端口号

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

建立一条 TCP 连接的过程与给公司办公室的某个人打电话的过程类似。首先,要拨打公司的电话号码。这样就能进入正确的机构了。其次,拨打要联系的那个人的分机号。

在 TCP 中,你需要知道服务器的 IP 地址,以及与服务器上运行的特定软件相关的TCP 端口号


3)怎么获得 HTTP 服务器的 IP 地址和端口号呢?

当然是通过 URL了!URL 就是资源的地址,所以自然能够为我们提供存储资源的机器的 IP 地址。

http://207.200.83.29:80/index.html

第一个 URL 使用了机器的 IP 地址,207.200.83.29 以及端口号 80。
http://www.netscape.com:80/index.html

第二个 URL 没有使用数字形式的 IP 地址,它使用的是文本形式的域名,或者称为主机名(www.netscape.com) 。主机名就是 IP 地址比较人性化的别称。可以通过一种称为域名服务(Domain Name Service,DNS)的机制方便地将主机名转换为 IP地址

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

最后一个 URL 没有端口号。HTTP 的 URL 中没有端口号时,可以假设默认端口号是 80。http详解--------TCP/IP_第2张图片

步骤如下:
(a) 浏览器从 URL 中解析出服务器的主机名;
(b) 浏览器将服务器的主机名转换成服务器的 IP 地址;
(c) 浏览器将端口号(如果有的话)从 URL 中解析出来;
(d) 浏览器建立一条与 Web 服务器的 TCP 连接;
(e) 浏览器向服务器发送一条 HTTP 请求报文;
(f) 服务器向浏览器回送一条 HTTP 响应报文;
(g) 关闭连接,浏览器显示文档。


你可能感兴趣的:(http详解--------TCP/IP)