安全超文本传输协议(S-HTTP)

2021-04-23 10:53:35

跳转到导航跳转以搜索安全的超文本传输​​协议(S-HTTP)是一个过时的替代HTTPS协议,用于加密HTTP携带的Web通信。它是由Eric Rescorla和Allan M. Schiffman开发的,并于1999年作为RFC 2660出版。

Web浏览器通常使用HTTP与Web服务器通信,发送和接收信息而不加密它。对于敏感的事务,例如互联网电子商务或在线访问财务帐户,浏览器和服务器必须加密此信息.Https和S-HTTP都在20世纪90年代中期定义,以解决这种需求。 S-HTTP由SPYGLASS' S Web服务器使用,而Netscape和Microsoft支持HTTPS而不是S-HTTP,导致HTTPS成为保护Web通信的事实标准机制。

S-HTTP仅加密服务的页面数据和提交的数据,如帖子字段,留下了不变的协议的启动。因此,由于未加密的标题将确定是否加密传输的其余传输是加密的,可以在同一端口上同时使用S-HTTP。

相比之下,HTTP OVER TLS将传输层安全性(TLS;以前的SSL)内的整个通信包装,因此在发送任何协议数据之前加密开始。这会创建一个基于名称的虚拟托管"鸡肉和鸡蛋"确定要求哪个DNS名称用于该请求。

这意味着没有服务器名称指示(SNI)支持的HTTPS实现需要每个DNS名称单独的IP地址,并且所有HTTPS实现都需要单独的端口(通常为443与HTTP' S标准80)[2],以便明确使用加密(在大多数浏览器中处理为单独的URI方案,HTTPS://)。

如在RFC 2817中的文档,也可以通过实现HTTP / 1.1升级标题并升级到TLS来保护HTTP。以这种方式协商的TLS运行HTTP不具有HTTPS的含义,以便在基于名称的虚拟托管(无额外的IP地址,端口或URI空间)。但是,很少有实现支持此方法。

在S-HTTP中,所需的URL不在ClearText标题中传输,但留空;在加密的有效载荷中存在另一组标题。在HTTP OVER TLS中,所有标题都在加密的有效载荷中,服务器应用程序通常不会有机会从TLS致命错误(包括'客户证书不受信任'和#39;客户证书已过期')。 [所需的引用]

^汤姆谢尔顿(2001年)。 " s-http(安全超文本传输协议)" 。 CS1 MINT:气馁参数(链接)