TCP 提供了:
无差错的数据传输
按序传输(数据总是会按照发送的顺序到达)
未分段的数据流(可以在任意时刻以任意尺寸将数据发送出去)
因特网自身就是基于TCP/IP 的,TCP/IP 是全世界的计算机和网络设备常用的层次化分组交换网络协议集。
只要建立了TCP 连接,客户端和服务器之间的报文交换就不会丢失、不会被破坏,也不会在接收时出现错序了。
用网络术语来说,HTTP 协议位于TCP 的上层。HTTP 使用TCP 来传输其报文数据。与之类似,TCP 则位于IP 的上层.
连接,IP地址以及端口号
在HTTP 客户端向服务器发送报文之前,需要用网际协议(Internet Protocol,IP)地址和端口号在客户端和服务器之间建立一条TCP/IP 连接。在TCP 中,你需要知道服务器的IP 地址,以及与服务器上运行的特定软件相关的TCP 端口号。
但最初怎么获得HTTP 服务器的IP 地址和端口号呢?
答案是通过URL.前面曾提到过,URL 就是资源的地址,所以自然能够为我们提供存储资源的机器的IP 地址。如下URL:
第一个URL 使用了机器的IP 地址,207.200.83.29 以及端口号80.
第二个URL 没有使用数字形式的IP 地址,它使用的是文本形式的域名,或者称为主机名(www.abc.com).主机名就是IP 地址比较人性化的别称。可以通过一种称为域名服务(Domain Name Service,DNS)的机制方便地将主机名转换为IP地址,这样所有问题就都解决了。
第三个URL没有端口号,HTTP的URL中没有端口号时,可以假设默认端口号是80.
有了IP 地址和端口号,客户端就可以很方便地通过TCP/IP 进行通信了。图1-10 显示了浏览器是怎样通过HTTP 显示位于远端服务器中的某个简单HTML 资源的。