《图解HTTP》-第五章-与HTTP协作的Web服务器

220 阅读2分钟

每天做个总结吧,坚持就是胜利!

    /**
        @date 2021-06-28
        @description 《图解HTTP》-第五章-与HTTP协作的Web服务器
    */

  1. HTTP/1.1规范允许一台HTTP服务器利用虚拟服务器搭建多个Web站点
  2. 域名最终是转换为IP地址,所以有可能多个域名指向的是同一个IP地址,为了正确的访问,在发送HTTP请求时,需要在Host首部完整的指定主机名或域名的URI
  3. 代理:代理的基本行为就是接收客户端发送的请求后,转发给其他服务器,不会改变URI,直接转发给前方持有资源的服务器(源服务器)
  4. 在HTTP通信过程中,可以级联多台代理服务器,这时候的请求和响应的转发会经过数台连接起来的类似锁链的服务器,转发时,需要传入Via首部字段以标记经过的主机信息

级联代理服务器.jpg 5. 代理的分类:根据是否使用缓存是否修改报文进行分类

是否使用缓存:代理转发响应时,是否将资源副本保存在代理服务器上
是否透明:转发请求或响应时,是否修改其中的报文,不做任何处理称作透明代理
  1. 网关:与代理服务器类似,但网关可以让通信线路上的服务器使用非HTTP协议(比如连接数据库,加密操作),在客户端与网关之间的通信线路上加密可以提高安全性
  2. 隧道可以按要求建立起一条与其他服务器的通信线路,届时可以使用加密手段进行通信,可以确保客户端与服务器的安全通信
  3. 缓存指的是在代理服务器或本地客户端保存起来的资源副本,之后请求资源时可以直接读取,减少对源服务器的访问,节省通信流量和时间
  4. 代理服务器中的缓存服务器就是在获取到源服务器的响应时,将资源保存起来,在之后的访问中直接使用缓存服务器中的资源,可以减少源服务器对请求的处理

缓存服务器.jpg 10. 缓存的有效性:当源服务器有更新时,缓存服务器的资源副本就不是最新的资源,所以需要进行资源有效性的判断,如果有更新则去获取最新的资源,没有则直接返回缓存服务器上的资源

缓存有效性.jpg 11. 客户端的缓存:也可以在客户端保存一份资源副本,就不需要每次向服务器端请求相同的资源,也需要向源服务器确认缓存的有效性