- 网关:网关可以作为某种翻译器使用,它抽象出了一种能够到达资源的方法。网关是资源与应用程序之间的粘合剂。
- 在不同http版本之间进行转换的Web代理和网关一样,他们会执行复杂的逻辑,以便在各个端点之间进行沟通。但因为他们在两侧使用的都是HTTP协议,所以从技术上说,他们仍然是代理。
- 通过一个斜杠"/"来分隔服务器端协议和客户端协议,并以此对网关进行描述。例如:HTTP/NNTP
- 协议网关:
- 服务器端Web网关(HTTP/**):请求流入原始服务器时,服务器端Web网关会将客户端HTTP请求转换为其他协议。
- 服务器端安全网关(HTTP/HTTPS):一个组织可以通过网关对所有输入Web请求加密,以提供额外的隐私和安全性保护。HTTP通过安全网关转换为SSL上的HTTP。
- 客户端安全加速器网关(HTTPS/HTTP),这些网关位于Web服务器之前,通常作为不可见的拦截网关或方向代理使用。他们接受安全的HTTPS流量,对安全流量进行解密,并向Web服务器发送普通的HTTP请求。SSL上的HTTP请求转换为受保护的内部LAN上的HTTP请求。
- 资源网关(应用程序服务器),会将目标服务器和网关结合在一个服务器中实现。
- 第一个流行的应用程序网关API就是通用网关接口(Common Gateway Interface,CGI)。CGI是一个标准接口集,Web服务器可以用他来装载程序以响应对特定URL的HTTP请求;
- 快速CGI,作为持久守护进程运行的
- 服务器扩展API
- 应用程序接口和Web服务
- Web服务可以用XML通过SOAP来交换信息。SOAP(Simple Object Access Protocol,简单对象协议)是向http报文中添加XML信息的标准方式。
- 隧道(Web tunnel):这种方式可以通过HTTP应用程序访问非HTTP协议的应用程序。使用隧道的最常见原因就是:需要在HTTP连接中嵌入非HTTP流量,这样,这类流量就可以穿过只允许Web流量通过的防火墙了。
- 中继(relay):是没有完全遵循HTTP规范的简单HTTP代理。中继负责处理HTTP中建立连接的部分,然后对字节进行盲转发。
- 中继有个声名狼藉的缺点:有潜在挂起Keep-alive连接的可能。中继收到connection首部,因为不理解,所以会将其一字不漏的传递给server。但connection是逐跳的首部,只适用于单条传输链路,是不应该沿着链路传输下去的。