Questions tagged «http-headers»

在超文本传输​​协议(HTTP)中,HTTP标头字段包含HTTP请求或响应的操作参数。通过请求或响应行(消息的第一行),它们形成消息头。


6
如何防止在Rails中缓存浏览器页面
Ubuntu-> Apache-> Phusion Passenger-> Rails 2.3 我网站的主要部分是对您的点击做出反应。因此,如果您单击链接,它将带您到目的地,并立即重新生成页面。 但是,如果您单击“后退”按钮,则看不到新页面。不幸的是,如果没有手动刷新,它不会显示。看来浏览器正在缓存它。我想确保浏览器没有缓存页面。 另外,我确实想为所有静态资产设置远期到期日期。 解决此问题的最佳方法是什么?我应该在Rails中解决这个问题吗?阿帕奇?Javascript? 谢谢您的帮助,杰森 唉。这些建议都没有强迫我寻找行为。 也许有一个JavaScript答案?我可以让Rails在注释中写出时间戳记,然后让javascript检查一下时间是否在五秒钟之内(或任何可行的方法)。如果是,那么很好,但是如果否,那么重新加载页面吗? 您认为这行得通吗? 感谢你的帮助, 杰森

4
什么是缓存控制:私有?
当我访问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 因此似乎缓存正在运行。如果该方法适用于缓存,那么Expires和Cache-Control:max-age的意义是什么?更令人困惑的是,当我在https://developers.google.com/speed/pagespeed/insights/上测试页面时,它告诉我“利用浏览器缓存”。

3
如何在IIS7中为每个文件夹和扩展名配置静态内容缓存?
我想在IIS7中为我的ASP.NET网站中的静态内容缓存设置规则。 我看过这些文章,其中详细介绍了如何使用中的<clientCache />元素进行操作web.config: 客户端缓存<clientCache>(IIS.NET) 将过期或缓存控制标头添加到IIS中的静态内容(堆栈溢出) 但是,此设置似乎全局应用于所有静态内容。有一种方法可以仅对某些目录或扩展名执行此操作吗? 例如,我可能有两个目录需要单独的缓存设置: /static/images /content/pdfs 是否有可能建立规则发送缓存头(max-age,expires,等)的基础上扩展和文件夹路径? 请注意,我必须能够通过这样做,web.config因为我无权访问IIS控制台。


4
HttpClient请求的自定义标头
如何在HttpClient请求中添加自定义标头?我正在使用PostAsJsonAsync发布JSON的方法。我需要添加的自定义标头是 "X-Version: 1" 到目前为止,这是我所做的: using (var client = new HttpClient()) { client.BaseAddress = new Uri("https://api.clickatell.com/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "xxxxxxxxxxxxxxxxxxxx"); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var response = client.PostAsJsonAsync("rest/message", svm).Result; }


8
移除X-Powered-By
如何在PHP中删除X-Powered-By标头?我在Apache服务器上,并且使用php 5.21。我无法在php中使用header_remove函数,因为5.21不支持该函数。我使用了Header unset X-Powered-By,它可以在我的本地计算机上工作,但不能在我的生产服务器上工作。 如果php不支持ver <5.3的header_remove(),是否有替代方法?
137 php  http-headers 

12
休息集合中的分页
我有兴趣向JSON文档集合公开直接的REST接口(请考虑CouchDB或Persevere)。我遇到的问题是,GET如果集合很大,如何处理集合根目录上的操作。 举一个例子,我要展示StackOverflow的Questions表,其中每一行都以文档的形式显示(不一定有这样的表,只是“文档”的大量集合的具体示例)。收集将在可提供/db/questions与通常的CRUD API GET /db/questions/XXX,PUT /db/questions/XXX,POST /db/questions是在玩。获取整个集合的标准方法是,GET /db/questions但是,如果天真地将每一行都作为JSON对象转储,那么您将获得相当可观的下载量,并且在服务器方面需要进行大量工作。 解决方案当然是分页。Dojo通过在其JsonRestStore中使用Range与自定义范围单位一起使用标头的RFC2616兼容扩展,解决了此问题items。结果是206 Partial Content仅返回要求范围的。与查询参数相比,此方法的优势在于,它将查询字符串留给...查询(例如GET /db/questions/?score>200,诸如此类,是的,将被编码%3E)。 这种方法完全涵盖了我想要的行为。问题在于RFC 2616在206响应上指定了此内容(重点是我的): 该请求必须包含指示所需范围的Range标头字段(第14.35节),并且可能包含If-Range标头字段(第14.27节)以使请求成为条件请求。 这在标头的标准用法的上下文中是有道理的,但是这是一个问题,因为我希望206响应是默认值,以处理幼稚的客户/随机人员进行探索。 我已经详细研究了RFC,以寻找解决方案,但对我的解决方案不满意,并且对SO解决该问题很感兴趣。 我的想法: 200带Content-Range标题返回!-我不认为这是错误的,但是我希望有一个更明显的指示,即响应只是部分内容。 返回400 Range Required -所需的标头没有特殊的400响应代码,因此必须使用默认错误并手动读取。这也使得通过Web浏览器(或诸如Resty之类的其他客户端)进行探索变得更加困难。 使用查询参数 -一种标准方法,但是我希望允许进行la la Persevere查询,这切入了查询名称空间。 刚回来206!-我认为大多数客户不会害怕,但我不想违反RFC中的MUST 扩展规格!返回值266 Partial Content -行为与206完全相同,但响应于不得包含Range标头的请求。我认为266足够高,因此我不应该遇到碰撞问题,这对我来说很有意义,但是我不清楚这是否被视为禁忌。 我认为这是一个相当普遍的问题,我希望以某种事实上的方式完成此任务,因此我或其他人不会重新发明轮子。 当集合很大时,通过HTTP公开完整集合的最佳方法是什么?

7
通过axios POST请求传递标头
我已经按照npm软件包文档中的建议编写了axios POST请求,例如: var data = { 'key1': 'val1', 'key2': 'val2' } axios.post(Helper.getUserAPI(), data) .then((response) => { dispatch({type: FOUND_USER, data: response.data[0]}) }) .catch((error) => { dispatch({type: ERROR_FINDING_USER}) }) 它可以工作,但是现在我修改了后端API以接受标头。 内容类型:“ application / json” 授权:“ JWT fefege ...” 现在,此请求在Postman上可以正常工作,但是在编写axios调用时,我遵循此链接并且无法完全正常工作。 我经常400 BAD Request出错。 这是我的修改请求: axios.post(Helper.getUserAPI(), { headers: { 'Content-Type': 'application/json', 'Authorization': 'JWT fefege...' …

12
没有Cookie或本地存储的用户识别
我正在构建一个分析工具,目前可以从其用户代理获取用户的IP地址,浏览器和操作系统。 我想知道是否有可能在不使用Cookie或本地存储的情况下检测到同一用户?我不希望在这里有代码示例。只是进一步了解的简单提示。 忘记提及如果它是同一台计算机/设备,则需要跨浏览器兼容。基本上,我是在设备识别之后才真正不是用户。

1
高速缓存控制中的私有vs公共
您能否描述一个示例,该示例指示IIS托管的asp.net应用程序中的公共缓存控件和私有缓存控件之间的区别。 我在MSDN中阅读到,区别如下: Public: 设置Cache-Control:public,以指定响应可以由客户端和共享(代理)缓存进行缓存。 私人:默认值。设置Cache-Control:私有,以指定响应仅可在客户端上缓存,而不能由共享(代理服务器)缓存缓存。 我不确定我是否已完全了解每种选择的利弊。一个何时使用或不使用它的示例将是很棒的。 例如,如果我有两个托管相同应用程序的Web服务器,该怎么办?如果选择“私人”或“公共”,有什么需要注意的吗?


4
如何使用CSV MIME类型?
在我正在使用的Web应用程序中,用户可以单击指向CSV文件的链接。没有为mime-type设置标题,因此浏览器仅将其呈现为文本。我希望此文件以.csv文件的形式发送,因此用户可以直接使用calc,excel,gnumeric等打开它。 header('Content-Type: text/csv'); echo "cell 1, cell 2"; 此代码可以在我的计算机上正常工作(不是一直如此吗?),但在另一台计算机上不起作用。 我的浏览器是FF 3.0.1(在Linux上)的每晚构建。它无法使用的浏览器是IE 7和FF 3.0(在Windows上) 我有没有意识到的怪癖?
125 php  csv  http-headers  mime 

2
可以接受重复的HTTP响应标头吗?
我尚未找到有关该标准是否允许重复的HTTP响应标头的任何规范,但是我需要知道这是否会引起兼容性问题。 说我有一个这样的响应头: HTTP/1.1 302 Moved Temporarily Server: Apache-Coyote/1.1 X-Powered-By: Servlet 2.4; JBoss-4.0.3SP1 (build: CVSTag=JBoss_4_0_3_SP1 date=200510231054)/Tomcat-5.5 Cache-Control: no-cache Cache-Control: no-store Location: http://localhost:9876/foo.bar Content-Language: en-US Content-Length: 0 Date: Mon, 06 Dec 2010 21:18:26 GMT 请注意,有两个Cache-Control标头具有不同的值。浏览器是否总是像对待“缓存控制:无缓存,无存储”那样对待它们?
123 http-headers 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.