Chapter5 与HTTP协作的web server

Chapter5 与HTTP协作的web server

1 虚拟主机

  • 虚拟主机(virtual host)::: 一台服务器可以搭建多个Web站点。
    对托管服务来说,一台物理机可为客户持有的域名运行各自不同的网站。
    image.png
    一台物理机部署多个应用,IP都相同,由于虚拟主机可寄存多个不同主机名、域名,发送HTTP请求时, 必须在Host首部指定主机名或域名的URI。

2 数据转发程序:代理、网关、隧道

HTTP通信,除了client、server,还有通信数据转发的应用程序,代理、网关、隧道等

  • 代理
    client、server的“中间人”角色,接收请求后转发
    代理不改变请求URI,直接发送给目标server。(!!!代理不改变URI)
    持有资源实体的sever叫源服务器,从源服务器返回的响应经过代理server,再传给client。

image.png
Q&A: 为何使用代理?
- 正向代理的过程,它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁。翻墙:
image.png
- 反向代理隐藏了真实的服务端,当我们请求 ww.baidu.com 的时候,就像拨打10086一样,背后可能有成千上万台服务器为我们服务,但具体是哪一台,你不知道,也不需要知道,你只需要知道反向代理服务器是谁就好了,ww.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去。Nginx就是性能非常好的反向代理服务器,用来做负载均衡。
image.png

  • 网关
    转发其他服务器数据的服务器,接收从客户端来的请求时,好似自己拥有资源的源服务器一样处理请求。client might not find that it’s connecting a gateway。

    • 网关提高安全性:
      客户端、网关间的通信线路上加密以保证连接安全。e.g.信用卡付款时,网关和信用卡结算系统联动。

    • 网关与代理很类似(???体现在)
      网关能使通信线路上的服务器提供非HTTP协议服务。(网关:::协议转换 器,网络层以上实现网络互连,仅用于两个高层协议不同的网络互连

  • 隧道

    • client、server相隔甚远,利用隧道中转,并保持通信连接(使用SSL,保证client、server安全通信)
    • 隧道本身不解析HTTP请求。请求保持原样中转给之后的服务器,隧道tunnel在双方断开时结束连接。

猜你喜欢

转载自blog.csdn.net/qq_30118563/article/details/80291533