Isr*_*Gab 58 http cors postman
这个问题已被问过几次,但我仍然不明白:
当我读到关于的答案
没有'Access-Control-Allow-Origin'标题
问题,它说应该在请求的服务器上设置一个设置,以允许跨域:add_header 'Access-Control-Allow-Origin' '*';.
但是,请告诉我为什么当从邮递员(这是一个客户)询问时,它的工作就像一个魅力,我收到了所请求服务器的回复?
谢谢
Isr*_*Gab 36
正如@Musa评论它,似乎原因是:
Postman不关心SOP,它是开发工具而不是浏览器
顺便说一下,这是一个chrome扩展,以使其在您的浏览器上工作(这个是用于chrome,但你可以找到FF或Safari).
如果您想了解有关Cross-Origin的更多信息以及为什么它可以用于扩展,请在此处查看.
小智 24
如果您使用网站并填写表单以提交信息(例如您的社会安全号码),您希望确保将信息发送到您认为正在发送的网站.因此,默认情况下,浏览器构建为"不要将信息发送到被访问域以外的域".
最终这变得过于局限,但默认的想法仍然存在于浏览器中.不要让网页将信息发送到其他域.但这是所有浏览器检查.Chrome和firefox等内置代码,表示"在发送此请求之前,我们将检查目标是否与正在访问的页面匹配".
邮递员(或cmd行上的CURL)没有那些内置的支票.您手动与网站进行交互,因此您可以完全控制要发送的内容.
Ris*_*tra 22
虽然这里的所有答案都很好地解释了 cors 是什么,但直接回答您的问题是因为邮递员和浏览器存在以下差异。
浏览器:OPTIONS在向 API 端点发送任何新请求之前,发送调用以检查服务器类型并获取标头。它检查的地方Access-Control-Allow-Origin。考虑到这一点,Access-Control-Allow-Originheader 只是指定允许所有 CROSS ORIGINS 的,尽管默认浏览器只允许相同的来源。
邮差:发送直接GET,POST,PUT,DELETE等没有检查什么类型的服务器是和获取的头请求Access-Control-Allow-Origin通过OPTIONS调用服务器。
小智 10
SOP是客户决定或不执行的服务器端配置.大多数浏览器都会强制执行它以防止与CSRF相关的问题.大多数开发人员工具都不关心它.
| 归档时间: |
|
| 查看次数: |
75168 次 |
| 最近记录: |