百科问答小站 logo
百科问答小站 font logo



为什么跨域的post请求区分为简单请求和非简单请求和content-type相关? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

如果我们现在重新设计整个HTTP协议,我们可以要求浏览器在发送任何数据到另外一个域的服务器之前,都必须先发送preflight request。但是大部分现存网站并未针对preflight request做出实现,所以这意味着现有的互联网中,如果一个域的表单向另一个域提交的时候会跨域失败,直到目标网站更新处理perflight request为止。


所以在我们制定这一新的标准的时候,应当考虑到目前互联网已经存在这样的请求,他们虽然看起来可能不安全,但为了向下兼容,我们不能强制对这些请求做preflight request。既然不能强制做preflight request验证,那发这个东西就没有什么意义了。




当然,我认为在时机成熟的时候,我们可以引入一种强制CORS的机制,就像现在的强制HTTPS机制一样。我们可以约定浏览器预先发一个请求到目标域名确定目标域的服务器是否支持强制CORS。如果目标域支持强制CORS,则浏览器对引用目标域的任何资源请求都发出Origin头,任何数据的发送都先发送preflight request。



至于你的迷惑,简单来说:

CORS是允许受限的跨域访问,不是限制现有的跨域访问。



没有CORS之前我们不是不可以跨域访问,而是要很弯弯绕(譬如说JSONP和万能的服务器代发),而CORS则是提出一个方案可以让我们直接了当的描述跨域访问的需求并且加以控制。




  

相关话题

  前端同事被富婆包养了,在深圳买了房,他代码技术远不如我,现在心里很不平衡,如何调节自己? 
  为什么有的高级程序员很讨厌甚至禁止使用 setTimeout? 
  Chrome 会成为下一个 IE 6 吗? 
  有哪些好的免费服务器平台推荐? 
  客户端 POST 错误,服务端应该回 200 还是 400? 
  本人后台开发,前端说改个东西要两天,但我感觉撑死2小时,怎么破? 
  如果工作一年经验的前端开发人员比工作两年的功能测试人员工资低,你还愿意待在那家公司吗? 
  所谓的几年编程经验,潜台词指的是什么? 
  文本格式(txt、doc)的HTML,有什么办法快速读取出特定的标签及里面的内容? 
  王垠的《谈谈Parser》是在回应 winter 吗? 

前一个讨论
胯下之辱,韩信报仇了没?
下一个讨论
关于「女权主义」的定义,与所谓的「田园女权主义」、「真女权主义」?





© 2024-09-19 - tinynew.org. All Rights Reserved.
© 2024-09-19 - tinynew.org. 保留所有权利