【HTTP】和HTTP协作的Web服务器
1.利用单台虚拟主机实现多个域名
HTTP/1.1版本允许一台服务器搭建多个Web服务站点,比如实现托管服务,就是利用一台服务器为多个用户提供服务,也可以为不同用户提供不同的网站。这就是利用虚拟主机技术的功能。
虚拟主机技术即使只有一台物理主机也能够实现多台服务器的能力。
客户端使用HTTP协议进行服务器访问的时候,会经常采用类似www.hackr.jp这样的域名和主机名。
在互联网中使用DNS协议对域名进行解析,然后访问到目标网站。
当一台服务器托管了多个域名,如果你发送请求使用DNS进行域名解析,多个域名访问一个ip地址,服务器就不知道你需要返回哪个网站信息。因此在发送HTTP请求的时候,必须在Host首部完整的指定主机名和域名的URI。
2. 通信数据转发程序:代理,网关,隧道
HTTP进行通信时,除了客户端和服务器以外,还有一些用于通信的应用程序,例如代理,网关和隧道。进行配合工作。
代理
代理是一种有转发功能的应用程序,它扮演了位于服务器和中间人的角色,接收由客户端发送的请求并转发给服务器,同时也接收由客户端返回的响应并转发给客户端。
网关
网关是转发其他服务器通信数据的服务器,接收从客户端发来的请求时,网关就像自己拥有资源一样对请求进行处理。
隧道
隧道是在相隔甚远的客户端和服务器两个之间进行中转,并且保持通信的应用程序。
下来我们详细介绍以下这些
- 代理
代理只是进行转发的服务器,代理不会改变请求URI,会直接发送到目标服务器。
在HTTP通信过程中,可以级联多个代理服务器。请求和响应就会通过这些服务器,转发时,需要附加Via首部字段以标记经过的主机信息。
代理有很多使用方法,有两种基准分类。1.是否使用缓存 2.是否修改报文。
缓存代理:
转发请求或者响应时,缓存代理会先将副本保存在代理服务器上。当客户端再次对相同资源请求时,就从代理服务器上进行资源获取。
透明代理
转发请求或响应时,不对报文信息做任何加工的代理类型称为透明代理。反之,对报文进行加工的代理称为非透明代理/
- 网关
网关的工作机制和代理十分相似,而网关能使通信线路上的服务器提供非HTTP协议服务。使用网关还能增加安全性。
- 隧道
使用隧道能增加安全连接。
3. 保存资源的缓存
缓存是指代理服务器或者客户端本地磁盘内保存的资源副本。利用缓存可减少对源服务器的访问,节省了通信流量。
其中缓存服务器是代理服务器的一种。
请求的资源如果已经被缓存则直接由缓存服务器返回给客户端。
- 缓存的有效期限
缓存也是由时效性的,有时候因为客户端的要求,缓存的有效性,会直接向源服务器进行资源有效性的确认。
- 客户端的缓存
缓存不仅实现在源服务器和代理服务器上,也在客户端进行了缓存,如果访问了相同的资源会直接从本地进行获取。
但是如果判断失效了,客户端也会重新进行获取缓存。
还没有评论,来说两句吧...