为什么非 HTTPS 的 API 调用,不重定向而直接返回错误?

另外注意,非 HTTPS 的 API 调用,不要重定向到 HTTPS,而要直接返回调用错误以禁止不安全的调用。

想请教一下,这句话背后有什么道理吗?

小时候,幸福是一件很简单的事;长大了,简单是一件很幸福的事。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
liyu001989
最佳答案
  • 因为任何 http 的请求都是不安全的,你重定向之前会泄露。
  • 你不能统一的再 nginx 中做跳转,因为还有 post put delete 请求。
  • 明确指出只支持 https,http请求统一报错,不是很好吗?为什么要做跳转这件事呢
5年前 评论
讨论数量: 4
liyu001989
  • 因为任何 http 的请求都是不安全的,你重定向之前会泄露。
  • 你不能统一的再 nginx 中做跳转,因为还有 post put delete 请求。
  • 明确指出只支持 https,http请求统一报错,不是很好吗?为什么要做跳转这件事呢
5年前 评论
liyu001989
  • 因为任何 http 的请求都是不安全的,你重定向之前会泄露。
  • 你不能统一的再 nginx 中做跳转,因为还有 post put delete 请求。
  • 明确指出只支持 https,http请求统一报错,不是很好吗?为什么要做跳转这件事呢
5年前 评论
月光

@liyu001989 谢大佬!我只是想知道为什么要这样,不是说非要跳转。

5年前 评论
jaminchen

@liyu001989 “你不能统一的再 nginx 中做跳转,因为还有 post put delete 请求.”

这句话能再解释详细一点么?不太懂。

5年前 评论
liyu001989

@jaminchen http 重定向到了 https ,本来是个 post 请求,重定向之后不就变成 get 了吗?

为什么一直要纠结这个 http 的问题,重定向之前,内容都泄露了

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!