Appearance
安全性
IMPORTANT
安全性在 HTTP 规范中被定义为一种不会修改服务器上资源的方法。当客户端使用安全方法发起请求时,它不应该对服务器产生任何副作用。被认为是“安全”的 HTTP 方法包括 GET、HEAD、OPTIONS 和 TRACE。
CAUTION
确保 API 实现保持 GET、HEAD、OPTIONS 和 TRACE HTTP 方法的安全性。
使用安全方法的主要好处是它们是可缓存的和幂等的。特别是 GET 请求可以被缓存,以提高性能。这意味着多个相同的 GET 请求应该返回相同的响应。安全方法也是幂等的,这意味着多次发送相同的请求会在服务器端产生相同的结果。
对于 API 和 Web 服务,最佳实践是尽可能使用安全方法。例如,GET 应用于获取资源,OPTIONS 可用于获取元数据等。像 POST、PUT、PATCH 和 DELETE 这样的不安全方法会修改数据,因此它们既不可缓存,也不是幂等的。
保持方法的安全性可以提高可扩展性、缓存和整体的可靠性。它还可以防止客户端意外多次发送非幂等请求时产生的意外后果。主要使用安全方法设计的 API 更容易进行缓存和水平扩展。
总之,安全的 HTTP 方法避免修改服务器状态,这带来了像幂等性和可缓存性这样的好处。正确使用安全方法是 API 设计中的一个重要方面。它提高了性能、可扩展性,并防止了客户端发送非幂等请求时可能出现的问题。