跳到主要内容
CNode

为什么浏览器不提供一个接口来发送裸HTTP请求?

问答
Ccoderfox发布于 9 年前最后回复 9 年前
1051550

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

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

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

查看回复

回复 (10)

D
DevinXian#19 年前

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

Z
zsxsoft#29 年前

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

C
coderfox#39 年前
引用 zsxsoftfetch不开withCredentials就是不会发送Cookies的……

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

C
coderfox#49 年前
引用 DevinXian了解同源策略存在的意义;解决方法:Cross Origin Resource Sharing

@DevinXian

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

谢谢。

M
myy#59 年前

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

Z
zhanzhenzhen#69 年前

可以的。Firefox可以!

Z
zhanzhenzhen#79 年前

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

F
fantasticsoul#89 年前
引用 coderfox@zsxsoft 但依然发不了非同源的啊。

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

D
dou4cc#99 年前

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

D
dou4cc#109 年前

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

参与回复

登录后即可参与回复。登录