当前位置: 首页 > 面试题库 >

跨域资源共享GET:“拒绝从响应中获取不安全的标头” etag””

郭单鹗
2023-03-14
问题内容

没有自定义标头的简单GET请求。响应将按预期返回。正文中的数据是可访问的,但标头不可访问。

当我尝试访问“ etag”标头时,浏览器会引发异常

拒绝获取不安全的标头“ etag”

Chrome,Safari和Firefox的行为均相同。我没有在IE上测试过。

我在这里想念什么?


问题答案:

使用CORS时仅公开简单的响应头。这里定义了简单的响应头。
ETag不是简单的响应头。如果要公开非简单标头,则需要设置Access-Control-Expose-Headers标头,如下所示:

Access-Control-Expose-Headers: ETag

但是,请注意,我注意到Chrome,Safari和Firefox中的错误会阻止非简单标头正确显示。我不确定目前是否可以解决此问题。

您不需要进行预检请求,因为仅非GET / POST http方法或非简单的 请求 标头(并且您正在询问 响应 标头)才需要进行预检。



 类似资料:
  • 我有两个ruby on rails应用程序,分别位于两个不同的域上(例如和)

  • 问题内容: 我正在编写一个HTML5应用程序,该应用程序使用JSONP从几个不同的来源收集数据。我对GET所做的任何事情都可以正常工作。我现在正尝试发布数据,并且遇到了一个有趣的问题。我需要将数据从我的应用程序发布到另一个应用程序,该应用程序从本地计算机运行。我正在尝试编写具有跨平台功能的移动应用程序(请考虑使用Pulse / Flipboard),因此该代码将始终从本地源运行。我的思考过程如下:

  • 跨域资源共享 (CORS) 跨域资源共享(Cross-Origin Resource Sharing)允许WEB端的应用程序访问不属于本域的资源 配置格式 CORS配置为json字符串,类似 { "rules":[ { "id":"id1" "AllowOrigin":"http://*.example.com" //指定允许发送跨源请求的源,支持使用通配符

  • 问题内容: 我对跨域JavaScript的概念有疑问。 有一个服务器(ex amazon.com),在其中只有选定的域可以使用其Web服务。所以可以肯定,如果我尝试从本地使用他们的服务,我将无法。我在控制台上得到了这个 跨域请求被阻止:“同源起源”策略禁止读取http://football20.myfantasyleague.com/2014/export?TYPE=rosters&L=52761

  • 问题内容: 我正在通过POST请求跨域发送数据,但是响应不起作用,特别是,从未调用过jQuery的成功处理程序。 正在使用的资料:Django,Apache,jQuery。 因此,我建立了一个与此类似的请求: 如您所知,CORS允许我适当地回答一个查询,说“是的,您可以向我发布邮件”。我在做什么 Firebug确认我正在获取状态代码,并且返回类型实际上是。但是,Firebug还确认 没有 调用上述

  • 问题内容: 我正在尝试阅读文档,我必须承认这并非易事。我没有问题(添加Access-Control-Allow- Origin标头后)来读取responseText,但是除了Firefox之外,其他任何地方都无法获得响应头。 因此,我的问题是使用跨域Ajax获取响应标头的正确方法是什么? 我尝试使用(Access-Control-Expose- Headers ),但是再次失败,无法读取标头。 问