我有一个 PHP 中的 HTTP REST API 供 iPhone 应用程序使用。
此 API 中的一些 Web 服务通过 HTTP 请求凭据中的用户身份验证进行保护,但我想通过提供完全加密的请求数据来避免“中间人”攻击。
我在安全问题上不是很熟练,而且我在任何地方都找不到我的问题的任何明确答案:
HTTPS 与 STATELESS REST API 相关吗?
据我了解,HTTPS 做了两件事:
- 加密你的 session
- 向客户证明他正在与之通话的服务器是安全的
所以乍一看它没有响应我的需求,即加密我的服务器和应用程序之间的数据,因为 API 不使用 session 。但我仍然有疑问。
有人能给我讲清楚吗?
我的另一个解决方案是使用公钥/私钥系统加密请求数据。会不会更合适?
谢谢!
最佳答案
是的,是的。 HTTPS 与应用程序无关,它是一种隧道协议(protocol)。尽管 TLS 本身是一个有状态协议(protocol),但通过它的 HTTP 部分却不是。
就像您使用 VPN 一样,您仍然可以拥有基于 REST 的应用程序。 TLS 只是为每个连接自动设置和拆除隧道。
也就是说,利用 HTTP 和 HTTPS 的管道方面来提高 TLS 连接的吞吐量是有值(value)的,但这是与应用程序本身无关的性能调整方面。
关于php - HTTPS 协议(protocol)是否与 REST API Web 服务相关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10303056/