我收到来自JSP(从iPad)到Servlet(我的系统)的请求。当我将响应发送到JSP时,由于缺少标题,浏览器和iPad应用程序似乎丢弃了来自代理的数据。
我将标题设置为
response.setHeader("Access-Control-Allow-Origin","*");
Access-Control-Allow-Origin是来自iPad的标题名称 我在以下链接中看到过 http://en.wikipedia.org/wiki/List_of_HTTP_header_fields Servlet中没有Access-Control-Allow-Origin标头类型 由于测试是在不同的地方进行的,你能告诉我我添加的setheader是写一个。
答案 0 :(得分:6)
您误解了WikiPedia条目。在servlet中,您可以设置所需的任何响应头。唯一的限制是客户端必须能够理解标头。维基百科确实列出了根据RFC 2616和4229提供的官方 HTTP标头(请参阅您提供的链接)。专有的自定义标头是合法的,经常使用。
通常,您只需在跨域脚本请求时设置Access-Control-Allow-Origin
标头,例如从 domain1.com 检索到的JSP会对 domain2.com 上托管的servlet执行客户端请求(JavaScript,AJAX)。根据您的使用情况,您必须决定是否需要标题。官方规范可用here。你应该仔细阅读它......相信我!