CNode

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

问答
Ccoderfox发布于9 年前最后回复9 年前10 回复5151 浏览0 收藏

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

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

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

查看回复

回复 (10)

D
DevinXian#1·9 年前

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

Z
zsxsoft#2·9 年前

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

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

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

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

@DevinXian

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

谢谢。

M
myy#5·9 年前

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

Z
zhanzhenzhen#6·9 年前

可以的。Firefox可以!

Z
zhanzhenzhen#7·9 年前

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

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

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

D
dou4cc#9·9 年前

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

D
dou4cc#10·9 年前

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

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