总结:TCP/IP 详解(卷3:TCP 事务协议、HTTP、NNTP 和 UNIX 域协议)--第十三章 HTTP:超文本传送协议

第十三章  HTTP:超文本传送协议

HTTP 是一个简单的协议。客户程序与服务器建立一个 TCP 连接,发送请求并读回服务器的响应。服务器通过关闭连接来指示它的响应结束。服务器所返回的文件通常含有指针(超文本链接)指向一些位于其他服务器的文件。用户可以轻松地跟随这些链接从一个服务器到另外一个服务器。

客户请求是简单的 ASCII 文本,服务器的响应也是以 ASCII 文本开始(首部),后面跟着数据(可以是 ASCII 或二进制数据)。客户程序软件(浏览器)分析服务器的响应,并把它格式化输出,同时以高亮显示指向其他文档的链接。

通过 HTTP 连接传输的数据量较小。客户请求报文长度,为几百字节,服务器响应报文的典型值也在几百字节至 10 000字节间。因为一些大文档(如图像或大的 PostScript 文件)会将服务器响应报文长度的平均值拉大,所以 HTTP 统计通常报告中间值。许多研究表明,服务器响应报文长度的中间值小于 3000 字节。

HTTP 带来的最大的性能问题是每个文件使用一条 TCP 连接。13.4节中提到的例子,为了打开一个主页,客户程序建立了 8 条 TCP 连接。当客户请求报文的长度超过服务器通告的 MSS 时,缓慢的建立使每一个 TCP 连接增加了额外的时延,在一个繁忙的服务器上可以看到很多这种待终止的连接。

我们比较一下几乎与 HTTP 协议同时开发的 Gopher 协议。Gopher 协议的文档号是 RFC 1436[Anklesaria et al. 1993]。从网络的观点来看,HTTP 与 Gopher 非常相似。客户程序打开一条与服务器的连接(Gopher 使用 70 号端口),并发起请求。服务器返回带有应答的响应,并关闭连接。它们的主要区别在于服务器送回给客户的报文的内容。尽管 Gopher 协议允许服务器返回非文本信息,如 GIF 文件,但大多数 Gopher 客户程序是为 ASCII 终端设计的。因此 Gopher 服务器返回的文档,大多数是 ASCII 文本文件。因为 HTTP 协议有明显的优势,所以作者写作本书时,也有很多 Web 浏览器能识别 Gopher 协议,并与这些 Gopher 服务器通信。

希望我的总结可以帮助大家,感谢阅读我的博客!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值