【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. 保存资源的缓存

缓存是指代理服务器或者客户端本地磁盘内保存的资源副本。利用缓存可减少对源服务器的访问,节省了通信流量。

其中缓存服务器是代理服务器的一种。

 请求的资源如果已经被缓存则直接由缓存服务器返回给客户端。

  •  缓存的有效期限

缓存也是由时效性的,有时候因为客户端的要求,缓存的有效性,会直接向源服务器进行资源有效性的确认。

  • 客户端的缓存

缓存不仅实现在源服务器和代理服务器上,也在客户端进行了缓存,如果访问了相同的资源会直接从本地进行获取。

但是如果判断失效了,客户端也会重新进行获取缓存。

 

发布了139 篇原创文章 · 获赞 93 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_43271086/article/details/105691515
今日推荐