以下HTTP 1.1标头是什么意思?
如果 - 无匹配:*
我在使用强弱或弱ETag甚至是ETag列表时理解它,但我不明白它在使用星号(*)时的用途.
编辑:很高兴有一些伪代码(PHP代码也很好)将显示如何/如何回答"If-None-Match:*".
我有HTTP标头的问题,它们用ASCII编码,我想提供一个视图,用于下载名称可以是非ASCII的文件.
response['Content-Disposition'] = 'attachment; filename="%s"' % (vo.filename.encode("ASCII","replace"), )
Run Code Online (Sandbox Code Playgroud)
我不想使用静态文件为非ASCII文件名提供同样的问题,但在这种情况下,文件系统及其文件名编码会出现问题.(我不知道目标操作系统.)
我已经尝试过urllib.quote(),但它引发了KeyError异常.
可能我做错了但也许这是不可能的.
我有一个node.js Connect服务器来检查请求的cookie.要在节点内测试它,我需要一种方法来编写客户端请求并附加cookie.我知道HTTP请求有'cookie'标题,但我不知道如何设置它并发送 - 我还需要在同一个请求中发送POST数据,所以我目前正在使用danwrong的restler模块,但它似乎没有让我添加标题.
有关如何使用硬编码cookie和POST数据向服务器发出请求的任何建议?
我正在用PHP实现REST服务.该服务应该能够支持多种输入和输出格式(JSON,XML).出于这个原因,我想检查请求标题"Accept"和"Content-Type",了解客户端发送和请求的内容类型.
访问"Accept"标题非常简单$_SERVER['HTTP_ACCEPT'].但访问"Content-Type"标题似乎是一项艰巨的任务.我搜索了PHP文档和Web,但唯一提供的解决方案是使用PHP函数apache_request_headers(),只有当PHP作为Apache模块安装时才支持,这在我的情况下是不正确的.
所以现在我的问题是:如何访问请求的标题"Content-Type"?
在这里阅读了很多文章和一些问题后,我终于成功激活了Apache mod_expires,告诉浏览器它必须缓存1年的图像.
<filesMatch "\.(ico|gif|jpg|png)$">
ExpiresActive On
ExpiresDefault "access plus 1 year"
Header append Cache-Control "public"
</filesMatch>
Run Code Online (Sandbox Code Playgroud)
谢天谢地,服务器响应似乎是正确的:
HTTP/1.1 200 OK
Date: Fri, 06 Apr 2012 19:25:30 GMT
Server: Apache
Last-Modified: Tue, 26 Jul 2011 18:50:14 GMT
Accept-Ranges: bytes
Content-Length: 24884
Cache-Control: max-age=31536000, public
Expires: Sat, 06 Apr 2013 19:25:30 GMT
Connection: close
Content-Type: image/jpeg
Run Code Online (Sandbox Code Playgroud)
好吧,我认为这会阻止浏览器下载甚至向服务器询问有关图像的信息,为期1年.但部分原因是:如果您关闭并重新打开浏览器,浏览器不会再从服务器下载图像,但浏览器仍然会向每个图像发送HTTP请求来询问服务器.
如何强制浏览器停止为每个图像发出HTTP请求?即使这些HTTP请求后面没有下载的图像,它们仍然是向服务器发出的请求,这些请求可能会造成延迟,并减慢页面渲染速度!
我已经告诉浏览器它必须将图像保存在缓存中1年!为什么浏览器仍在为每个图像查询服务器(即使它没有下载图像)?!
查看FireBug中的网络图(菜单FireBug> Net> Images)我可以看到不同的缓存行为(我显然开始使用浏览器缓存完全空,我使用"清除所有历史记录"强制在浏览器上删除缓存):
当第一次加载页面时,所有图像都被下载(如果我通过单击浏览器的重新加载页面按钮强制页面重新加载,则会发生同样的事情).这很有道理!
当我浏览网站并返回同一页面时,根本不会下载图像,浏览器甚至不会向服务器询问 …
对SO的回顾并未明确回答这个问题.可以暗示,但我想特别记录下来.
如果SSL处于活动状态,它将加密HTTP标头数据,如"set-cookie"?我知道"setSecure"仅在HTTPS处于活动状态时才传输cookie,但如果SSL处于活动状态,我想确认所有头数据是否默认加密而无需使用"setSecure".
我知道您可以使用该--header选项手动设置一些标题,但我想知道它在没有交互的情况下发送的标题.
我一直在围绕REST进行一些研究.我注意到Amazon S3 API主要使用http标头作为其REST接口.这对我来说是一个惊喜,因为我假设接口主要用于请求参数.
我的问题是:我应该主要使用http标头开发我的REST接口,还是应该使用请求参数?
我从我的Github页面帐户中提供了一些文件.但当我检查我的"js"文件的标题时,我看到以下内容:
Last-Modified:Sun, 10 Feb 2013 14:00:46 GMT
Expires:Sun, 10 Feb 2013 14:13:23 GMT
Cache-Control:max-age=600
Run Code Online (Sandbox Code Playgroud)
这个文件是在14天前提交的.但我并不这么频繁地计划这些文件.所以我需要制作更大的max-age值并将Last-Modified值更改为上次提交日期.
是否可以更改Github页面的标题?
我正在尝试让我的Go应用程序将其指定为特定的UserAgent,但无法找到有关如何执行此操作的任何内容net/http.我正在创建一个http.Client,并使用它来发出Get请求client.Get().
有没有办法UserAgent在客户端设置,或者根本没有?
http-headers ×10
http ×5
rest ×2
browser ×1
caching ×1
django ×1
escaping ×1
github ×1
github-pages ×1
go ×1
http-1.1 ×1
httprequest ×1
mod-expires ×1
node.js ×1
php ×1
python ×1
servlets ×1
ssl ×1
wget ×1