我试图找出一个跨领域的API问题。我有一个用Sencha Touch 2.3.1创建的应用程序,它使用Ajax从远程服务器获取数据。我面临的问题是,所有针对本地服务器的Ajax请求在响应中并不包含所有的头。在远程服务器上,一切正常,标题也正常。
以下是两个打印件,显示了每个服务器单独发送和接收的标头
1 -从本地主机发送和接收的头(http://local.api - vhost)
收到的邮件头:
Connection Keep-Alive
Content-Length 274
Content-Type text/html; charset=iso-8859-1
Date Mon, 07 Jul 2014 10:58:54 GMT
Keep-Alive timeout=5, max=100
Location http://local.api/fa/?ref.agent/lista-clienti&_dc=1404730734262
Server Apache/2.2.17 (Win32) PHP/5.3.3
发送的邮件头:
Accept text/html,application/xhtml+xml,
application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language ro-ro,ro;q=0.8,en-us;q=0.6,en-gb;q=0.4,en;q=0.2
Content-Length 33
Content-Type application/x-www-form-urlencoded; charset=UTF-8
Host local.api
Origin http://sencha.local
Referer http://sencha.local/fisa-agenti/index.html
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101
Firefox/30.0
2-从远程服务器发送和接收的标头(http://adgarage.ro)
收到的邮件头
Accept-Ranges bytes
Access-Control-Allow-Cred... true
Access-Control-Allow-Orig... *
Age 0
Connection keep-alive
Content-Length 375
Content-Type application/json
Date Mon, 07 Jul 2014 10:58:52 GMT
Server Apache/2.2.22 (Unix) mod_ssl/2.2.22
OpenSSL/0.9.8e-fips-rhel5
Via 1.1 varnish
X-Powered-By PHP/5.3.13
X-Varnish 562862498
发送的邮件头
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language ro-ro,ro;q=0.8,en-us;q=0.6,en-gb;q=0.4,en;q=0.2
Host adgarage.ro
Origin http://sencha.local
Referer http://sencha.local/fisa-agenti/index.html
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101
Firefox/30.0
记下访问控制允许
标头。从本地主机
接收的标头容器中缺少它
这是我的。htaccess
文件:
Header set Access-Control-Allow-Origin *
Header set Access-Control-Allow-Credentials: true
此文件在两台服务器上是相同的。我在本地机器上有headers_module
。
我注意到的另一件事是,来自本地的响应状态是 301 永久移动
,而从远程服务器收到的响应状态是 200 Ok
我错过了什么?
谢谢!
我已经确定了问题。如本文所述,由于301永久移动
状态,因此未发送本主题标题。
我的本地请求是向http://local.api/fa?ref.agent/...
而不是http://local.api/fa/?ref.agent/...
-注意第一个链接中/fa
后面的斜杠不见了。
现在一切都好了。
主要内容:1 HTTP Request Header请求头,2 HTTP Response Header 响应头本文列出了日常开发中常见的请求头和响应头,以供大家参考。 1 HTTP Request Header请求头 Header 说明 示例 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html Accept-Charset 浏览器可以接受的字符编码集。 Accept-Charset: iso-8859-5 Accept-Encoding
问题内容: 有什么方法可以使用PHP获取cURL请求的标头和正文?我发现这个选项: 将返回 正文和标头 ,但随后我需要对其进行解析以获取正文。有什么方法可以使两者更实用(和更安全)? 请注意,对于“单个请求”,我的意思是避免在GET / POST之前发出HEAD请求。 问题答案: 一种解决方案发布在PHP文档注释中:http : //www.php.net/manual/en/function.c
问题内容: 如何检索请求的响应标头?以下是我提出的要求。 提前致谢! 问题答案: 如果响应为类型,则可以从获取标头。 因此,当您使用Alamofire responseJSON时,可以像这样访问NSHTTPURLResponse属性: 正如苹果文件所说: 包含所有HTTP标头字段的字典,该字段作为服务器响应的一部分收到。通过检查此词典,客户端可以看到HTTP服务器返回的“原始”标头信息。 该词典中
我使用Java和Apache CXF为AngularJS(单页web站点)编写后端。在REST服务中,我需要访问http请求的头(即参数和cookies),也需要访问响应头(即参数和cookies)。其主要原因是安全性、身份验证目的和会话管理。这些都是重要的原因。
我们看到一些行为,我们没有在OkHttp中缓存响应,最终每次都访问服务器。但是,响应在将来会有一个过期时间,所以理想情况下它将被缓存。 从我对CacheStrategy的观察来看,问题是它将日期+年龄加在一起,以查看它是否超过了过期时间。在本例中,,因此它最终不会被添加到缓存中。 因此,我认为理想情况下,要么响应日期等于last-modified(在本例中,时间为2021年1月16日00:40:3