跳到主要内容

05.与 HTTP 协作的 Web 服务器

思维导图

思维导图来自: 霸天的前端笔记

preview

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

HTTP/1.1 规范允许一台 HTTP 服务器搭建多个 Web 站点。

虚拟主机可以寄存多个不同主机名和域名的 Web 网站。

比如 网站可以通过:

  • www.majusushi.world # 网站服务
  • blog.majusushi.world # 博客服务
  • admin.majusushi.world # 后台服务

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

代理

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

代理响应过程

image-20201128002506418

  • 透明代理(Transparent Proxy):

    代理转发请求的时候,会在请求头加上 Via 首部信息。

  • 匿名代理

使用代理的理由

  • 内网访问控制
  • 缓存技术

网关

网关是转发其他服务器通信数据的服务器,可以将 HTTP请求转化为其他请求

网关通信过程

image-20201128003011332

使用代理的理由

  • HTTP => HTTP/FTP/SOCKET链接/POP/HTTPS(非HTTP协议)
  • 数据库连接
  • 信用卡网关

隧道

隧道是在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序。

隧道本身是透明的, 客户端不用在意隧道的存在,不对承载的流量进行解析

使用隧道目的:

  • 安全的通信线路:SSL

例子:

如果小明和小美不在一个网段(同一个局域网),小明是无法通过ARP广播发现小美的MAC地址。使用隧道可以实现。

隧道就是一根管子,两端是两个IP,IP仅用于网络传输,内部相当于同一个局域网。

保存资源的缓存

缓存服务器,就是代理服务器的一种,用于实现对请求资源的缓存。可以减低服务器的带宽和负担。

缓存有效期,缓存存在有效期,使用 max-age,Expires 等控制

客户端缓存,如 IE中的临时网络文件(Temporary Internet File)

参考资源

  1. 思维导图参考: 霸天的前端笔记

    Github 仓库有Xmind:Awsome-Front-End-Xmind

  2. 原书参考:《图解HTTP》和 《HTTP权威指南》