网关可以作为一种翻译器使用,抽象出了一种能够到达资源的方法。
网关和代理的区别:
代理连接的是两个或多个使用相同协议的应用程序,而网关连接的则是两个或多个使用不同协议的端点。网关扮演的是“协议转换器”的角色。
Web网关在一侧使用HTTP协议,在另一侧使用另一种协议。
<客户端协议>/<服务器端协议>
(HTTP/)服务器端网关:通过HTTP协议 与客户端对话,通过其他协议与服务器通信。
(/HTTP)客户端网关:通过其他协议与客户端对话,通过HTTP协议与服务器通信。
*常见网关类型有
**:
服务器端Web网关(服务器协议转换器)、服务器端安全网关、客户端安全网关以及应用程序服务器。
- (HTTP/*)服务器端Web网关
客户端发送HTTP请求,服务器Web网关会将该请求转换为其他协议与服务器进行连接。完成获取资源以后,会将对象放在一条HTTP响应中会送给客户端。
- (HTTP/HTTPS)服务器端安全网关:
客户端发送HTTP请求,网关会自动加密来自客户端的请求,然后再发送给服务器。
- (HTTPS/HTTP)客户端安全加速器网关
客户端发送的请求是经过加密的安全的HTTPS流量,通过网关进行解密,再向Web服务器发送普通的HTTP请求。
这些网关中通常都包含专用的解密硬件,解密效率高于原始服务器,可以减轻原始服务器的负荷。
- 资源网关
应用程序服务器,将目标服务器与网关结合在一个服务器中。应用程序服务器是服务器端网关,与客户端通过HTTP进行通信,并与服务器端的应用程序相连接。
客户端通过HTTP连接到应用程序服务器,服务器并不回送文件,而是将请求通过网关API发送给应用程序(运行在服务器上)。应用程序将请求资源回送给客户端。
CGI(Common Gateway Interface )——通用网关接口
CGI是一个标准接口集,Web服务器可以用它来装载程序以响应特定URL的HTTP请求 ,并收集程序的输出数据,将其放在HTTP响应中回送给客户端。
实现过程:
收到请求以后,服务器将辅助应用程序所需的数据传送过去,它会向服务器返回一条响应,服务器再转发给客户端。整个过程中,服务器和网关是相互独立的应用程序。
下图为服务器与网关应用程序之间交互的基本运行机制