为什么浏览器不提供一个接口来发送裸HTTP请求?
发布于 8 年前 作者 coderfox 4220 次浏览 来自 问答

受浏览器同源策略限制,跨域的AJAX请求不能发出,给开发时调用Open API带来了很多不便。

我理解的设计同源策略的原因是发送AJAX请求会带上cookies,在安全方面上过不去。

那么为什么浏览器不提供一个接口,让JS能从0开始(不带默认cookies)构建一个HTTP请求呢?

10 回复

了解同源策略存在的意义;解决方法:Cross-Origin Resource Sharing

fetch不开withCredentials就是不会发送Cookies的……

@zsxsoft 但依然发不了非同源的啊。

@DevinXian

  1. 请问我这个理解有问题吗?
  2. CORS 确实是解决方案,但是对多数API来说,它们都不启用CORS,如果浏览器引入新的HTTP请求方式是否会更好?这么做有什么问题?

谢谢。

浏览器跨域不关cookie啥事,在于被访问的服务端是否允许.

可以的。Firefox可以!

在Firefox的Developer Tools的Network中,点击Edit and Resend

@coderfox 不是你想发就发的,web服务器开启了跨域请求模式,浏览器才发得出去,要不然你以为设计一个options嗅探请求是干嘛用呢?

因为早期的服务器不用瞬时登录,是记ip的,不带cookie照样可以搞事

现在运营商都分内网ip了,这确实已成为历史

回到顶部