阅读 57

图解HTTP(04)——与HTTP协作的Web服务器

这是我参与更文挑战的第4天,活动详情查看:更文挑战

通信数据转发:代理、网关、隧道

代理

代理服务器的基本行为:接收由客户端发送的请求并转发给服务器,同时也接收服务器返回的响应并转发给客户端。代理不会改变请求URI,会直接发送给前方持有资源的源服务器。

源服务器:持有资源实体的服务器。

0401.jpg

在 HTTP 通信过程中,可级联多台代理服务器。请求和响应的转发会经过数台类似锁链一样连接起来的代理服务器。转发时,需要附加Via首部字段以标记出经过的主机信息。

为何要使用代理呢?主要有以下理由:

  1. 利用缓存技术减少网络带宽的流量
  2. 组织内部针对特定网站的访问控制
  3. 获取访问日志

缓存代理

缓存代理会将请求的目标资源保存在代理服务器上,这样当收到相同请求时就可以直接返回资源,而不必消耗源服务器性能。

  • 缓存的有效期限

当源服务器上的资源更新时,如果还是用原来的缓存,就会导致脏数据产生,所以也需要控制缓存何时失效。

  • 客户端的缓存

缓存并不一定存在服务器上,浏览器本地也能缓存资源,当缓存失效时,就会向服务器重新请求资源。

透明代理

转发请求或响应时,不对报文做任何加工的代理类型被称为透明代理 (TransparentProxy)。反之,对报文内容进行加工的代理被称为非 透明代理。

网关

0402.jpg

网关主体功能和代理相似。但是网关可以将HTTP请求转换成其他通信协议。

隧道

隧道可以和服务器建立一条安全通信线路,期间可以使用SSL等加密手段进行通信,隧道本身是透明的,不会影响到客户端行为。

HTTP协议出现之后,其他协议逐渐没落

FTP(File Transfer Protocol)

传输文件使用的协议,最早出现在1973年,比TCP/IP协议族出现时间还要早,但现在仍广泛使用

NNTP(Network News Transfer Protocol)

用于 NetNews 电子会议室内传送消息的协议,1986年前后出现,现在已经不怎么使用了

Archi

搜索 anonymous FTP 公开的文件信息的协议。1990 年前后出现,现在已经不常使用。

WAIS(Wide Area Information Servers)

以关键词检索多个数据库使用的协议。1991 年前后出现。由于现在已经被HTTP协议替代,也已经不怎么使用了。

Gopher

查找与互联网连接的计算机内信息的协议。1991 年前后出现,由于现在已经被HTTP协议替代,也已经不怎么使用了。

文章分类
后端
文章标签