我想要澄清HTTPS是有状态还是无状态?这是关于我构建的RESTful API.我们最初使用的是HTTP.由于HTTP本质上是在无状态的TCP/IP上工作,因此HTTP是无状态的,但是当我切换到HTTPS时,我的API变为有状态.我想知道我的结论是HTTPS是有状态的.是对还是不对?我使用名为webMethods的中间件工具创建了我的API.谢谢
Zam*_*col 19
TLS/SSL是有状态的. Web服务器和客户端(浏览器)缓存会话,包括加密密钥以提高性能,并且不对每个请求执行密钥交换.
HTTP 1不是有状态的. 然而,HTTP/2确实有一些有状态的组件,但"应用层"仍然是无状态的.
TL; DR:传输管道(TLS)是有状态的,HTTP不是.
附加说明:Cookie和其他有状态机制是后来在单独的RFC中定义的添加.它们不是原始HTTP/1.0规范的一部分,并且在HTTP 1.1 RFC中未提及.HTTP 1被认为是无状态的,尽管在实践中我们使用标准化的有状态机制.HTTP/2在其标准中定义了有状态组件,因此是有状态的.特定的HTTP/2应用程序可以使用HTTP/2功能的子集来维护无状态.
HTTPS中的S与传输有关,而与协议无关.对于HTTPS,HTTP协议的语义保持不变.正如关于维基百科上的HTTPS的文章所述,
严格地说,HTTPS不是单独的协议,而是指通过加密的SSL/TLS连接使用普通HTTP.
HTTP协议在设计上是无状态的,不是因为它最常用于TCP/IP(例如,没有什么能阻止你使用HTTP over UDP).
| 归档时间: |
|
| 查看次数: |
18444 次 |
| 最近记录: |