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

HTTP/1.1规范允许一台HTTP服务器搭建多个Web站点,,即物理层面只需要一台服务器,但只要使用虚拟主机的功能,则可以假想已具有多台服务器
在相同的IP地址下,由于虚拟主机可以寄存多个不同主机名和域名的web网站,因此在发送HTTP请求时,必须在host首部内完整指定主机名或域名的URI

2.数据转发程序:代理、网关、隧道

代理:
是一种有转发功能的应用程序,扮演了位于服务器和客户端”中间人”的角色,接收由客户端发送的请求并转发给服务器,同时也接收服务器返回的响应并转发给客户端
使用代理服务器的原因:利用缓存技术减少网络带宽的流量

网关:
网关是转发其他 服务器通信数据的服务器,接收从客户端发送来的请求时,就像自己拥有资源的源服务器一样对请求进行处理

隧道:
是在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序
目的:确保客户端能与服务器进行安全的通信,隧道本身不会去解析HTTP请求

3.缓存技术

保存资源的缓存:
缓存是指代理服务器或客户端本地磁盘内保存的资源副本,利用缓存可减少对源服务器的访问,节省了通信流量和通信时间,缓存服务器也是代理服务器的一种,利用缓存可避免多次从源服务器转发资源

缓存的有效期限:
即存在缓存,会因为客户端的要求,缓存的有效期等因素,像源服务器确认资源的有效性

缓存校验字段:
背景:为了让客户端和服务器之间实现缓存文件是否更新的验证,提升缓存的复用率

1.Last-Modified
服务器传递资源给客户端时,会将资源最后更改的时间以“Last-modified GMT”的形式加在实体首部上一起返回给客户端,
客户端会为资源标记上该信息,下次再次请求时,会把信息附带在请求报文中一并带给服务器去做检查,若传递的时间值与服务器的最后修改时间一致,则说明该资源没有被更新过。

标记最新修改时间的请求报文首部字段:
**

  • If-Modified-Since :Last-modified-value

    1. If-Modified-Since: Thu, 31 Mar 2020 07:07:52 GMT

    该请求首部告诉服务器如果客户端传来的最后更新时间与服务器上的一致,则直接返回304和响应报头

  • If-Unmodified-Since:Last-Modified-value

如果Last-Modified没有匹配上,则返回412状态码给客户端

如果在服务器上,资源被修改了,但是实际上内容并没有发生改变,会因为Last-Modified时间匹配不上而返回了整个实体给客户端
_