与HTTP协作的Web服务器

用单台虚拟主机搭建多个域名

HTTP/1.1允许用一台HTTP服务器搭建多个Web站点(域名服务器)。

这里会存在一个问题:我们输入的域名通过DNS来解析域名时会得到一个HTTP服务器的IP地址,HTTP协议又该如何让HTTP服务器知道我们应该访问哪一个Web站点呢?
在相同的IP地址下,由于虚拟机可以寄存多个不同主机名和域名的web网站,因此在发送HTTP请求时,必须在Host首部完整指定主机名和域名的URI。

通过数据转发程序:代理,网关,隧道

HTTP进行通信时不光有客户端和服务端,还有一些作为通信转发的应用程序,如代理,网关,隧道。它们可以配合服务器进行工作。
这些应用程序和服务器可以把收到的请求转发给下一个服务器,也可以把收到的响应转发给客户端。

代理服务器

代理是一个具有转发功能的应用程序,这些应用程序和服务器可以把收到的请求转发给下一个服务器,也可以把收到的响应转发给客户端。
在这里插入图片描述
在这里插入图片描述
在HTTP通信过程中,可级联多台代理服务器。请求和响应的转发会经过数台类似锁链一样连接起来的代理服务器。转发时,需要附加via首部字段以标记出经过的主机信息。
为什么要使用代理服务器?
1.安全
如果你访问了一个不安全的网站,会有可能使个人隐私信息遭到泄漏,导致经济财产损失。通过代理服务器,将请求进行转发,就能够防止追查到你的本地信息,建立一种另类防火墙。
2.特定网络和特定的ip才能访问的权限。
我们就可以通过代理服务器,突破这种限制。比如:Facebook,YouTube等国外网站。
3.性能提升
代理服务器还可以提高浏览网站的性能。例如,访问一个网站,它就会被保存在代理服务器的缓存中。下次访问该网站时,代理会向网站服务器发送请求以查找任何更改,如果未检测到更改,它将显示网站的缓存版本。因此,可以减少已经访问过的网站的加载时间。
4.组织内部对特定的网站进行访问
代理服务器的分类
代理服务器有很多种,按照不同的分类方法可以分出很多种。常见的分类方法有俩种,1.是否会进行缓存;2.是否会修改报文。
缓存代理会预先将资源的副本(缓存)保存在代理服务器上。
转发请求或响应时,不对报文做任何加工的代理类型被称为透明代理。反之,对报文内容进行加工的代理称为非透明代理。
代理工具fidder
fiddler是一款抓包工具,那fiddler是安装在你电脑上的,你发请求也是通过电脑去发的。那fiddler又怎么抓到请求的呢?
这里就有需要用到代理概念了,把fiddler设置为代理服务器,那么我们的请求就是先到了fiddler,再通过fiddler转发到服务器。所以fiddler就可以抓到各种数据包了。

网关

网关的工作机制和代理十分相似。而网关能使通信线路上的服务器提供非HTTP协议服务。
利用网关能提高通信的安全性,因为可以在客户端和网关的通信线路上加密以确保连接的安全性。

隧道

隧道可按要求建立起一条与其他服务器的通信线路,届时使用SSL等加密手段进行通信。隧道的目的是确保客户端能与服务器进行安全的通信。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值