Tag: http headers

什么是caching控制:私人?

当我访问chesseng.herokuapp.com时,我得到一个响应头,看起来像 Cache-Control:private Connection:keep-alive Content-Encoding:gzip Content-Type:text/css Date:Tue, 16 Oct 2012 06:37:53 GMT Last-Modified:Tue, 16 Oct 2012 03:13:38 GMT Status:200 OK transfer-encoding:chunked Vary:Accept-Encoding X-Rack-Cache:miss 然后我刷新页面并获取 Cache-Control:private Connection:keep-alive Date:Tue, 16 Oct 2012 06:20:49 GMT Status:304 Not Modified X-Rack-Cache:miss 所以看起来像caching工作。 如果这适用于caching,那么Expires和Cache-Control的重点是什么? 为了增加混淆,当我在https://developers.google.com/speed/pagespeed/insights/上testing页面时,它告诉我“利用浏览器caching”。

在restcollections中寻呼

我有兴趣将直接的REST接口公开给JSON文档的集合(想想CouchDB或Persevere )。 我遇到的问题是,如果集合很大,如何处理集合根上的GET操作。 作为一个例子假装我暴露了StackOverflow的Questions表,其中每行是作为一个文档公开(而不是必然有这样一个表,只是一个大量的文件集合的具体例子)。 这个集合可以在/db/questions用通常的CRUD api GET /db/questions/XXX , PUT /db/questions/XXX , POST /db/questions 获取整个集合的标准方法是GET /db/questions但是如果这种方式天真地将每行都作为JSON对象转储,那么在服务器上你将得到相当大的下载和很多工作。 解决scheme当然是分页。 Dojo已经在其JsonRestStore中解决了这个问题,通过使用Range标头和自定义范围单元items的聪明的符合RFC2616的扩展。 结果是206 Partial Content仅返回请求的范围。 这种方法在查询参数上的优点是,它留下了查询的查询string(例如, GET /db/questions/?score>200或其他,并且是编码%3E )。 这种方法完全覆盖了我想要的行为。 问题是, RFC 2616指出,在206响应(重点矿): 该请求必须包含一个Range头域( 14.35节 ),表示期望的范围,并且可以包含一个If-Range头域( 14.27节 )来使请求有条件。 这在标题的标准用法的上下文中是有意义的,但这是一个问题,因为我想将206响应作为默认处理初始客户端/随机人员的探索。 我已经详细了解RFC,寻找解决scheme,但是对我的解决scheme感到不满,并且对SO的解决scheme感兴趣。 我有过的想法: 用Content-Range头返回200 ! – 我不认为这是错误的,但我更喜欢如果一个更明显的指标,反应是只有部分内容。 返回400 Range Required – 对于所需的头文件没有特殊的400响应代码,所以必须使用和手动读取默认错误。 这也使得通过网页浏览器(或Resty等其他客户端)更难探索。 使用一个查询参数 – 标准的方法,但我希望允许查询la Persevere,这削减到查询命名空间。 只要返回206 ! – 我认为大多数客户不会被吓倒,但是我不想在RFC中反对 […]

X-Requested-With头是什么意思?

JQuery和其他框架添加下面的头文件: X-Requested-With:XMLHttpRequest 为什么这需要? 为什么服务器想要以不同于正常请求的方式处理AJAX请求? 更新 :我刚刚find一个真实的例子使用这个头: https : //core.spreedly.com/manual/payment-methods/adding-with-js 。 如果支付处理器没有AJAX请求,则在完成后redirect到原始网站。 当通过AJAX请求时,不进行redirect。

REST DELETE真的是幂等的吗?

DELETE应该是幂等的。 如果我删除http://example.com/account/123它将删除该帐户。 如果我再次这样做,我会期望一个404,因为该帐户不再存在? 如果我尝试删除一个从未存在的帐户,该怎么办?

如何评估来自bash / shell脚本的http响应代码?

我有这样的感觉,我错过了明显的,但没有成功的man [curl|wget]或谷歌(“http”使这样一个糟糕的search术语)。 我正在寻找一个快速和肮脏的修复我们的Web服务器之一,经常失败,返回错误消息的状态代码500。 一旦发生这种情况,需要重新启动。 由于根本原因似乎很难find,我们正在寻求一个快速修复,希望能够弥补时间,直到我们可以真正解决它(该服务不需要高可用性) build议的解决scheme是创build一个每5分钟运行一次的cron作业,检查http:// localhost:8080 / 。 如果这返回与状态代码500,networking服务器将被重新启动。 服务器将在一分钟内重新启动,因此不需要检查已经运行的重新启动。 有问题的服务器是一个Ubuntu 8.04最小安装,只安装了足够的软件包来运行它当前所需的。 没有必要在bash中完成这个任务,但是我希望它能在这样一个最小的环境中运行,而不需要安装更多的解释器。 (我对脚本非常熟悉,将http状态代码分配给环境variables的命令/选项就足够了 – 这是我所查找和找不到的。)

Expires和Cache-Control头文件有什么区别?

Expires和Cache-Control头文件有什么区别?

设置HTTP标头

我正在尝试在Go Web服务器中设置一个标头。 我正在使用gorilla/mux和net/http软件包。 我想设置Access-Control-Allow-Origin: *来允许跨域AJAX。 这是我的Go代码: func saveHandler(w http.ResponseWriter, r *http.Request) { // do some stuff with the request data } func main() { r := mux.NewRouter() r.HandleFunc("/save", saveHandler) http.Handle("/", r) http.ListenAndServe(":"+port, nil) } net/http软件包有描述发送http请求标题的文档,就像它是一个客户端 – 我不确定如何设置响应标题?

如何删除ASP.Net MVC默认HTTP头?

我正在处理的MVC应用程序中的每个页面都将这些HTTP标头设置为响应: X-Powered-By: ASP.NET X-AspNet-Version: 2.0.50727 X-AspNetMvc-Version: 2.0 我如何防止这些显示?

如何防止在Rails中浏览器页面caching

Ubuntu – > Apache – > Phusion Passenger – > Rails 2.3 我的网站的主要部分反应到您的点击。 所以,如果你点击一个链接,它会把你发送到目的地,并立即重新生成你的页面。 但是,如果您点击后退button,则看不到新的页面。 不幸的是,没有手动刷新, 它似乎浏览器正在caching它。 我想确保浏览器不会caching页面。 另外,我确实希望为我所有的静态资产设置远期到期date。 什么是解决这个问题的最好方法? 我应该在Rails中解决这个问题吗? Apache的? JavaScript的? 谢谢你的帮助,Jason 唉。 这些build议都没有强迫我正在寻找的行为。 也许有一个JavaScript的答案? 我可以让rails在评论中写出一个时间戳,然后通过javascript检查来查看时间是否在五秒之内(或者其他什么)。 如果是,那么罚款,但如果没有,然后重新加载页面? 你认为这会起作用吗? 感谢你的帮助, 贾森

什么是http-header“X-XSS-Protection”?

所以我一直在用HTTP来玩弄telnet(也就是说只要input“telnet google.com 80”,随意地将GET和POST放入不同的头文件等等),但我碰到过Google的东西。 com传送的是我不知道的标题。 我一直在寻找通过http://www.w3.org/Protocols/rfc2616/rfc2616.html,并没有发现这个特定的http头,谷歌似乎是吐出来的定义: GET / HTTP/1.1 HTTP/1.1 200 OK Date: Wed, 01 Feb 2012 03:42:24 GMT Expires: -1 Cache-Control: private, max-age=0 Content-Type: text/html; charset=ISO-8859-1 Set-Cookie: PREF=ID=6ddbc0a0342e7e63:FF=0:TM=1328067744:LM=1328067744:S=4d4farvCGl5Ww0C3; expires=Fri, 31-Jan-2014 03:42:24 GMT; path=/; domain=.google.com Set-Cookie: NID=56=PgRwCKa8EltKnHS5clbFuhwyWsd3cPXiV1-iXzgyKsiy5RKXEKbg89gWWpjzYZjLPWTKrCWhOUhdInOlYU56LOb2W7XpC7uBnKAjMbxQSBw1UIprzw2BFK5dnaY7PRji; expires=Thu, 02-Aug-2012 03:42:24 GMT; path=/; domain=.google.com; HttpOnly P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info." […]