前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >web网关

web网关

作者头像
zy010101
发布2022-11-14 17:31:31
4070
发布2022-11-14 17:31:31
举报
文章被收录于专栏:程序员程序员

网关

HTTP 扩展和接口的发展是由用户需求驱动的。要在 Web 上发布更复杂资源的需求出现时,人们很快就明确了一点:单个应用程序无法处理所有这些能想到的资源。

为了解决这个问题,开发者提出了网关(gateway)的概念,网关可以作为某种翻译器使用,它抽象出了一种能够到达资源的方法。网关是资源和应用程序之间的粘合剂。应用程序可以(通过 HTTP 或其他已定义的接口)请求网关来处理某条请求,网关可以提供一条响应。网关可以向数据库发送查询语句,或者生成动态的内容,就像一个门一样:进去一条请求,出来一个响应。

有些网关会自动将 HTTP 流量转换为其他协议,这样 HTTP 客户端无需了解其他协议,就可以与其他应用程序进行交互了。

客户端和服务器端网关

可以用一个斜杠来分隔客户端和服务器端协议,并以此对网关进行描述:

代码语言:javascript
复制
< 客户端协议 >/< 服务器端协议 >

因此,将 HTTP 客户端连接到 NNTP 新闻服务器的网关就是一个 HTTP/NNTP 网关。我们用术语服务器端网关和客户端网关来说明对话是在网关的哪一侧进行的。

  • 服务器端网关(server-side gateway)通过 HTTP 与客户端对话,通过其他协议 与服务器通信(HTTP/*)。
  • 客户端网关(client-side gateway)通过其他协议与客户端对话,通过 HTTP 与服 务器通信(*/HTTP)。

HTTPS/HTTP客户端安全加速器网关

HTTPS/HTTP 网关位于 Web 服务器之前,通常作为不可见的拦截网关或反向代理使用。它们接收安全的 HTTPS 流量,对安全流量进行解密,并向 Web 服务器发送普通的 HTTP 请求。

HTTP/HTTPS:服务器端安全网关

一个组织可以通过网关对所有的输入 Web 请求加密,以提供额外的隐私和安全性保护。客户端可以用普通的 HTTP 浏览 Web 内容,但网关会自动加密用户的对话。

这些网关中通常都包含专用的解密硬件,以比原始服务器有效得多的方式来解密安全流量,以减轻原始服务器的负荷。这些网关在网关和原始服务器之间发送的是未加密的流量,所以,要谨慎使用,确保网关和原始服务器之间的网络是安全的。

第一个流行的应用程序网关 API 就是通用网关接口(Common Gateway Interface,CGI)。CGI 是一个标准接口集,Web 服务器可以用它来装载程序以响应对特定URL 的 HTTP 请求,并收集程序的输出数据,将其放在 HTTP 响应中回送。在过去的几年中,商业 Web 服务器提供了一些更复杂的接口,以便将 Web 服务器连接到应用程序上去。关于CGI,可以参考以下的内容。

  1. CGI是什么
  2. Python CGI编程
  3. Windows 配置Apache+CGI
  4. 关于CGI和FastCGI的理解

请求需要使用网关的资源时,服务器会请辅助应用程序来处理请求。服务器会将辅助应用程序所需的数据传送给它。通常就是整条请求,或者用户想在数据库上运行的请求之类的东西。然后,它会向服务器返回一条响应或响应数据,服务器则会将其转发给客户端。服务器和网关是相互独立的应用程序,因此,它们的责任是分得很清楚的。

下面是引用自wsgi和asgi文章的一段话。

在现在这个时代看来,这种方式实在是过于古老。由于每一次向CGI发送请求,都会生成一个CGI进程,也是导致并发瓶颈的症结。当然了,这个症状并没有限制web开发,因为那个时代根本不会遇到非常高的并发。后来,jsp,asp技术出现了,没有给CGI继续发展的机会。相比CGI,asp(jsp)的性能更加优越,因为它们可以直接在HTML网页中动态嵌入元素而不需要单独引用CGI文件。这就是模板引擎的优势,这个时代渐渐地有了模板工程师,专门负责写MVC模式中的V,而后端工程师们则是专注于写M和C。

参考资料

《HTTP权威指南》

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 网关
    • 客户端和服务器端网关
      • HTTPS/HTTP客户端安全加速器网关
      • HTTP/HTTPS:服务器端安全网关
    • 参考资料
    相关产品与服务
    安全加速 SCDN
    安全加速(Secure Content Delivery Network,SCDN)是腾讯云推出的集分布式 DDoS 防护、CC 防护、WAF 防护、BOT 行为分析为一体的安全加速解决方案。已使用内容分发网络(CDN)或全站加速网络(ECDN)的用户,购买服务后可为加速域名一键开启安全防护相关配置,全方位保障业务内容分发。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档