【图解HTTP】——与http协作的Web服务器
- 一台服务器可以搭建多个独立域名的Web网站,也可以作为通信的中转服务器提升传输效率
用单台虚拟主机实现多个域名
- 一台HTTP服务器可以搭建多个Web站点——利用虚拟主机
- 多个Web部署在同一个服务器上面
- 导致不同的Web的IP地址一样的
- 故在IP地址一样的情况下,由于虚拟主机可以寄存多个不同的主机名和域名的网站,因此在发送HTTP请求时,必须在HOST首部完整指出主机名/域名的URI
小结:不同的Web网站可以保存到同一个服务器上,这样就导致IP地址都是一样的,于是在请求报文中,我们要指明是哪个Web
通信数据转发程序:代理、网关、隧道
- HTTP通信时,除了客户端和服务器以外,还有一些用于通信数据转发的应用程序——网关、代理、隧道,用于配合服务器工作
- 这些应用程序和服务器可以将请求转发给通信线路上的下一站服务器,并且接受从服务器返回的响应再转发给客户端
类似于中间商
应用程序 | 功能 |
---|---|
代理 | “中间人”:具有转发功能的应用程序 |
网关 | 服务器:转发其他服务器通信数据,可以转换不同协议,对数据进行处理 |
隧道 | 在相隔甚远的客户端和服务器之间进行中转,并保持双方通信连接的应用程序 |
【1】代理
- 源服务器:最终点的服务器
- 级联多台服务器时,附加Via首部字段,标记出经过的代理
- 使用代理服务器优点:
(1)利用缓存技术减少网络带宽流量
(2)组织内部针对特定网站的访问控制
(3)获取访问日志
- 代理分类:
(1)是否使用缓存
(2)是否会修改报文
代理类型 | 功能 |
---|---|
缓存代理(Caching Proxy) | 保存之前的响应,再遇到相同请求时直接从缓存代理返回响应, 减少流量传输 |
透明代理(Transparent Proxy) | 转发请求和响应时,不对报文做任何处理 |
非透明代理 | 对请求和响应做了特殊处理 |
【2】网关(安全系统)
- 使得通信线路上的服务器提供非HTTP协议
- 作用:提高通信的安全性
可以在客户端与网关之间的通信线路上加密以确保连接的安全性
例如:网关可以连接数据库,使用SQL语句查询数据、Web上支付时,通过网关与信用卡结算系统联动
【3】隧道
- 安全通信手段
保存资源的缓存
- 缓存:代理服务器保存的资源或者是客户端本地磁盘内的缓存资源
-
利用缓存可以减少对源服务器的访问,因此也就节省了通信流量和通信时间
- 缓存的有效期
可能遇到源服务器更新,故代理会不停向源服务器进行资源确认
- 客户端缓存
客户端浏览器中的“临时网络文件”