HTTP协议- web服务器
1
用单台虚拟主机实现多个域名
一台服务器可以绑定多台虚拟主机。每一个虚拟主机都有一个域名,但是会存在一个问题,每一个虚拟主机的ip地址是相同的,在请求时要做一个区分。
因此在发送 HTTP 请求时,必须在 Host 首部内完整指定主机名或域名的 URI。
2
通信数据转发程序的三种方式
网关
转发其他服务器通信数据的服务器
接收客户端发送过来的请求, 就像自己拥有资源的源服务器一样对请求进行处理,有时候客户端不会察觉到。
他的通信目标是一个网关
利用网关可以由http请求转化为其他网络协议通信,网关的通信机制和代理很类似,而网关能是通信线路上的服务器提供非HTTP协议服务
强调一点 websocket的通信就是利用网关来实现的,
利用网关能提高通信的安全性,因为可以在客户端与网关之间的通信线路上加密以确保连接安全。
代理
作为客户端和服务端的中间人
转发客户端请求给服务端
同时也会将服务端请求转发给客户端
每次通过代理服务转发请求或响应时,都会添加一个Via的首部字段已标记经过的主机信息。
使用代理服务器的理由
通过代理服务器对数据进行缓存,减少网络带宽的流量
缓存代理
代理服务器在处理响应请求时,预先将源服务器的数据缓存在代理服务器上,下次客户端发送请求时,可以直接在代理服务器上返回数据。
透明代理
不对报文进行任何加工的代理类型被成功透明代理。
反之被称为非透明代理
隧道
在相隔甚远的客户端和服务器之间进行中转,并保持双方通信连接的应用程序
3
缓存
缓存是指 代理服务器或客户端本地磁盘保存的资源副本
利用缓存可以减少对源服务的访问, 减少了通信的流量,和通信时间。
缓存服务器的优势 减少客户端对源服务的请求,可以直接就近从代理服务上获取资源,而源服务也不必多次处理相同的请求。
4
缓存的有效期限
缓存数据可以存在客户端和代理服务器,但是会出现源服务数据更新了,但是客户端和代理服务上的数据没有更新的问题,所以就出现了缓存的有效期限。
客户端的缓存
浏览器的缓存被称为临时网络文件,这个词语在进行电脑的垃圾清理时,会出现临时网络文件。
当客户端判定缓存过期,会向源服务器确认资源的有效性,若判定缓存失效,客户端会直接向源服务器请求数据,不会走缓存。