Java教程

四. 与HTTP协作的Web服务器

本文主要是介绍四. 与HTTP协作的Web服务器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

四. 与HTTP协作的Web服务器

一台Web服务器可以搭建多个独立域名的Web网站,也可以作为通信时的中转服务器来提升传输的速率。

1. 用单台虚拟主机实现多个域名
在这里插入图片描述
在互联网上,域名通过DNS服务解析成IP地址,通过IP地址找到目的主机;但现在一台主机搭载了多个Web服务器,也就有多个域名,就需要在发送HTTP请求时必须在请求首部HOST指定完整的域名。

2. 代理、网关、隧道

HTTP通信时,有一些在客户端与服务器之间转发数据的程序。

  1. 代理
    相当于中间人的角色,可接受客户端的请求转发给拥有资源的源服务器,也可将服务器的响应转发给客户端,就相当于中间人的角色。
    在这里插入图片描述
    可以看到,每经过一个代理服务器就会在请求首部增加via字段标记出经过的主机信息。代理可按是否使用缓存分为:缓存代理和非缓存代理;按是否修改报文分为透明代理和非透明代理。
    缓存代理指在转发响应时会将其资源缓存下来,下次再遇到请求此资源时,直接将之前缓存的资源作为响应返回。非缓存代理相反不会缓存。
    透明代理表示转发时不会对报文做任何加工,非透明代理于此相反。所以显而易见上图为非透明代理。

  2. 网关
    接收来自客户端的请求,并像自己拥有资源一样对请求进行处理,有时客户端自己也不会知道自己在跟网关通信。
    在这里插入图片描述
    可以看出,网关在接收到请求后又去请求了非HTTP请求,然后再回复客户端HTTP响应;
    利用网关能提高通信的安全性,因为可以在客户端与网关之间的通信线路上加密以确保连接的安全。比如,网关可以连接数据库,使用SQL语句查询数据。另外,在Web购物网站上进行信用卡结算时,网关可以和信用卡结算系统联动。

  3. 隧道
    在相隔较远的客户端和服务器之间进行中转的应用程序,功能与代理类似。隧道的目的是使用SSL等加密手段,确保客户端能与服务器进行安全的通信。
    在这里插入图片描述
    3. 说明

本文是《图解HTTP》读书笔记,如有错误。还请兄弟们指正,大家一起进步。

这篇关于四. 与HTTP协作的Web服务器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!