计算机网络 | 数据中转、缓存代理和HTTP首部 | [3]

web服务器

虚拟主机

HTTP1.1允许一台HTTP服务器搭建多个web站点
即使物理上只存在一台服务器,但是可以利用虚拟主机实现多个虚拟服务器,从而搭建多个站点

同一台服务器上,即使搭建了不同的站点,但是在客户端请求访问某个站点的时候,DNS域名解析服务会将域名解析成唯一的ID地址
可能多个域名都对应同一台服务器,而同一台服务器的ID地址又是唯一的

因此在发送HTTP请求的时候,必须在Host首部内完整的指定主机名或域名的URI

通信数据转发

在HTTP通信的时候,常常需要数据的中转,常见的用于中转的程序有代理、网关、隧道

代理

代理是客户端和服务器的中间人
通信过程中,可以采用多个代理级联的方式中转信息

转发请求或者响应的时候,不会对报文进行修改的就是透明代理
会对报文进行修改的就是非透明代理

网关

网关是一个特殊的服务器
用于转发其他服务器资源的服务器,当收到请求后,就像自己拥有资源的服务器一样处理请求

网关可以使服务器提供非HTTP协议通信

并且增加了通信的安全性

隧道

当相隔甚远的客户端和服务器端进行通信的时候,隧道在两者之间进行中转
隧道不会解析请求,完全透明的通道

缓存

缓存是指代理服务器或者客户端保存的资源的副本
利用缓存可以减少对源服务器的访问,减少流量和通信的时间

缓存服务器是代理的一种,属于缓存代理

当客户端发起请求的时候,如果代理服务器中已经缓存了该资源,则直接有代理响应
不需要再去源服务器
客户端的请求被就近解决,源服务器也不必响应多次重复的请求

缓存服务器的资源更新

当源服务器存在更新的时候,缓存代理的缓存服务器中的资源还没有更新的话可能存在错误

缓存服务器会根据客户端的要求,或者缓存的有效期限等因素,向源服务器确认缓存是否失效

客户端的缓存

缓存不仅可以缓存在代理服务器端,也可以保存在客户端,同样会判断缓存的有效性

HTTP首部

在HTTP协议的请求和响应报文中必定包含首部
首部内容包含客户端和服务器处理请求和响应必需的信息

请求报文

报文首部包含请求行(方法、URI、HTTP版本)、请求首部字段、通用首部字段和实体首部字段

响应报文

报文首部 包含状态行(HTTP版本、状态码)、响应首部字段、通用首部字段和实体首部字段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值