作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
非 2XX 状态代码响应是否仍应包含 CORS 特定 header ,例如 Access-Control-Allow-Origin
、Access-Control-Allow-Methods
和 Access-Control-Max-Age
?这对客户有意义吗?
例如:
➜ api git:(master) ✗ curl -i http://127.0.0.1:9000/dfas
HTTP/1.1 404 Not Found
Connection: close
Server: Node.js v6.3.1
Cache-Control: no-cache, no-store
Access-Control-Max-Age: 300
Access-Control-Allow-Origin: *
Content-Type: application/json
Content-Length: 60
Date: Thu, 11 Aug 2016 22:58:33 GMT
{"code":"ResourceNotFound","message":"/dfas does not exist"}
最佳答案
是的,让服务器发送 CORS header 是有意义的,即使是非 2xx 响应也是如此。原因是:响应中没有 CORS header ,非 2xx 响应代码不会暴露给前端代码(通过 Fetch 或 XHR)。响应代码可能会显示在 devtools 控制台中,但如果没有 CORS header ,前端代码将能够以编程方式确定的唯一一件事就是发生了错误,而不是错误的响应代码。
因此,如果您希望前端代码能够根据响应代码执行有用的错误处理,即使在非 2xx 响应中,服务器也应该发送 CORS header 。
关于http - 非 2xx 状态代码响应是否应包含 CORS 特定 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38907385/
我是一名优秀的程序员,十分优秀!