【图解HTTP】Web服务器与HTTP的协作

顺心的人大抵一样,坎坷的人各有各的坎坷。也只能坚持自我修行,等待自己的机遇。

文章目录

  • 1. Web服务器与HTTP的协作
    • 1.1 单台虚拟主机实现多域名
    • 1.2 通信数据转发程序:代理、网关、隧道
      • 1.2.1 代理
      • 1.2.2 网关
      • 1.2.3 隧道
    • 1.3 缓存
    • 1.4 扩展:HTTP出现之前的协议

1. Web服务器与HTTP的协作

一个 Web 服务器上可搭建多个独立域名的 Web 网站,也可作为通信链路上的中转服务器提升传输效率

1.1 单台虚拟主机实现多域名

1. 虚拟主机/服务器(Virtual Host): 即使物理层面上只有一台服务器,使用虚拟主机功能也可实现一台 HTTP 服务器搭建多个 Web 站点
2. 域名解析:

客户端采用主机名和域名访问服务器,域名通过 DNS 服务映射到 IP 地址,再通过 IP 地址找到要访问的服务器。

当两个域名被解析成同一个 IP 地址时(即两个域名部署在同一台服务器上),在发送 HTTP 请求时,需要在 Host 首部内完整地指定主机名或域名的 URI

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

HTTP 通信时,除了客户端和服务器之外,还存在一些用于配合服务器工作的负责通信数据转发的应用程序,如代理、网关和隧道。它们可以将请求转发给通信链路上的下一站服务器,并且能接收该服务器的响应,并转发给客户端。

术语 ——
源服务器: 持有资源实体的服务器称为源服务器

1.2.1 代理

【图解HTTP】Web服务器与HTTP的协作_第1张图片

**1. 定义:**具有转发功能的应用程序,扮演客户端与服务器之间的中间人角色,负责接收由客户端发出的请求并且转发给服务器,也能接收服务器返回的响应并且转发给客户端
2. 基本行为: 接收客户端发来的请求后转发给其他服务器。代理不能改变请求 URI,之间把请求发送给前方持有资源的目标服务器。
3. 代理服务器的级联: 转发时,通过附加 Via 首部字段标记出经过的主机信息

【图解HTTP】Web服务器与HTTP的协作_第2张图片
4. 优点:

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

5. 分类:

  • 缓存代理(Caching Proxy)
    代理转发响应时,预先将响应资源的副本缓存在代理服务器上,当代理再收到对相同资源的请求时,可以之间返回之前缓存的资源
  • 透明代理(Transparent Proxy)
    代理转发请求或响应时,不对报文作任何加工。(相应的还有非透明代理)

1.2.2 网关

【图解HTTP】Web服务器与HTTP的协作_第3张图片

1. 定义: 网关与代理工作机制类似,但是网关可以使通信线路上的服务器提供非 HTTP 协议服务
2. 优点: 提高通信安全性,可在客户端和网关的通信线路上加密

1.2.3 隧道

1. 定义: 可建立一条与其他服务器间的通信线路,以使用 SSL 等加密手段加密通信,隧道的目的就是确保客户端与服务器间进行安全的通信。隧道不会解析 HTTP 请求,请求保持原样中转给之后的服务器,隧道在通信双方断开连接后结束
2. 优点: 实现远距离的安全通信

1.3 缓存

缓存是指代理服务器或客户端本地磁盘内保持的资源副本。通过缓存可减少对源服务器的访问,从而节省通信流量和通信时间。
1. 缓存服务器: 代理服务器的一种(缓存代理),可以缓存源服务器资源。但是要注意,即使存在缓存,也会因客户端要求、缓存有效期限等问题,向源服务器确认资源有效性。判断缓存失效,缓存服务器要再次从源服务器上获取新资源。
2. 客户端缓存: 将缓存存在客户端浏览器中,如IE浏览器的临时网络文件(Temporary Internet File),若浏览器缓存有效,之间从本地磁盘读取

1.4 扩展:HTTP出现之前的协议

  1. FTP(File Transfer Protocol): 传输文件时使用的协议,1973年出现,至今仍在广泛延用

  2. NNIP(Network News Transfer Protocol): 用于电子会议室传输消息的协议,1986年出现,现在已经不怎么使用了

  3. Archie: 搜索 FTP 公开文件信息的协议,1990年出现,现在也不怎么使用了。

  4. WAIS(Wide Area Information Servers): 以关键词检索多个数据库使用的协议,1991年出现,不怎么使用了

  5. Gopher: 查找互联网连接的计算机信息的协议,1991年出现,现在也不怎么使用了

你可能感兴趣的:(计算机网络,服务器,http,前端)