rest - 通过HTTPS发送密码: GET vs POST

标签 rest https

我正在创建一个 headless 的API,它将驱动Angular前端。我在弄清楚应该如何处理用户身份验证时遇到了一些麻烦。

显然,API应该可以通过SSL运行,但是接下来出现的问题是,我应该如何发送包含用户密码的请求:通过GET还是POST。这是一个RESTFUL API,所以我正在做的是检索信息,这意味着它应该获得GET请求。但是通过get发送密码意味着它是URI的一部分,对吗?我知道即使GET请求也通过HTTPS加密,但这仍然是正确的方法吗?还是这是一种从RESTFUL中断并在主体中包含数据或其他东西的情况(GET请求是否在主体中包含数据?)。

最佳答案

如果您在请求 header 中传递凭据,则可以使用GET或POST请求。您可以选择将建立的Authorization header 与身份验证方案一起使用,也可以创建特定于API的自定义 header 。

当使用头字段作为传达凭据的方式时,您不必担心凭据被写入访问日志,因为该日志中不包含头。使用 header 字段还符合REST标准,并且实际上应该用于传达与资源请求/响应相关的任何元数据。这样的元数据可以包括但不限于以下信息:集合大小,分页详细信息或相关资源的位置。

总而言之,请始终将 header 字段用作身份验证/授权的方式。

关于rest - 通过HTTPS发送密码: GET vs POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45352550/

相关文章:

javascript - RESTful 服务,Post 无法正确保存到数据库

android - 读取错误 : Failure in SSL library, 通常是协议(protocol)错误

ssl - 如何将 Cloudflare SSL 与 Hostinger 结合使用

c# - 如何在 C# 中使用内容和 header 调用 Rest API?

rest - 格式化 webapi 响应 .net core

rest - YARN集群模式下的Spark监控REST API

java - 如何使用 Guice + Jersey + servlet 将 Swagger 集成到 Java 项目中并自动生成 REST API 文档

c# - 通过 HTTPS 的 HttpWebRequest 的随机问题

javascript - HTTP 请求移动 JavaScript

ssl - HTTPS 使用 Poco C++ 获取 SSL 异常 : OSM Nominatim