读书笔记《图解HTTP》——与HTTP协作的Web服务器

328 阅读3分钟

1.用单台虚拟主机实现多个域名

HTTP/1.1允许一台HTTP服务器搭建多个Web站点。利用了虚拟主机(虚拟服务器)的功能。 在互联网上,域名通过DNS服务映射到IP地址之后访问目标网站,当请求发送到服务器时,已经是以IP地址形式访问了。在相同的IP地址下,由于虚拟主机可以寄存多个不同主机名和域名的Web网站,因此在发送HTTP请求时,必须在Host首部内完整指定主机名或域名的URI。

2.通信数据转发程序:代理、网关、隧道

这些应用程序和服务器可以将请求转发给通信线路上的下一站服务器,并且能接收服务器返回的响应并转发给客户端。

2.1代理

一种有转发功能的应用程序,它扮演了位于服务器和客户端“中间人”的角色。

不改变URI。在HTTP通信过程中,可级联多台代理服务器。

使用代理服务器的理由:利用缓存技术减少网络带宽的流量,组织内部针对特定网站的访问控制,以获取访问日志为主要目的等。

代理使用方法:是否使用缓存 、 是否会修改报文。

缓存代理:代理转发响应时,缓存代理会预先将资源的副本缓存在代理服务器上。

透明代理:不对报文做任何加工的代理类型,否则为非透明。

2.2网关

转发其他服务器通信数据的服务器。好像自己拥有资源的源服务器一样对请求进行处理。

持有资源实体的服务器被称为源服务器。

工作机制和代理类似,网关能使通信线路上的服务器提供非HTTP协议服务。

利用网关能提高通信的安全性。

2.3隧道

在相隔甚远的两者之间进行中转,并保持双方通信连接的应用程序。

隧道可按要求建立起一条与其他服务器的通信线路,届时使用SSL等加密手段进行通信。

隧道的目的是确保客户端能与服务器进行安全的通信。隧道本身是透明的。

3.保存资源的缓存

缓存服务器是代理服务器的一种,归类在缓存代理类型中。

当代理转发从服务器返回的响应时,代理服务器将会保存一份资源的副本。

在HTTP出现之前的协议:

FTP:文件传输时用的协议,现在还在广泛使用。

NNTP(用于NetNews电子会议 室内传送消息的协议) Archie(搜索anonymous FTP公开的文件信息的协议) WAIS(以关键词检索多个数据库使用的协议) Gopher(查找与互联网连接的计算机内信息的协议) 不常用