Tag: http headers

获取客户端IP地址:REMOTE_ADDR,HTTP_X_FORWARDED_FOR,还有什么可用的?

我知道这是一个标准的做法,看看这两个variables。 当然,他们很容易被欺骗。 我很好奇你能期望这些值(特别是HTTP_X_FORWARDED_FOR )能包含真正的信息,而不是被HTTP_X_FORWARDED_FOR或者被剥夺价值? 任何有这方面经验或统计的人? 还有什么可以帮助获取客户端的IP地址吗?

Pragma和Cache-control标题之间的区别?

我读了关于维基百科上的Pragma标题: “Pragma:no-cache header字段是一个HTTP / 1.0头,用于请求中,这是浏览器告诉服务器和任何中间caching它想要一个新的资源版本,而不是服务器告诉浏览器不要caching资源,一些用户代理在响应中确实注意到了这个头,但是HTTP / 1.1 RFC特别警告不要依赖这种行为。 但我还没有明白它的作用? 其值为no-cache的Cache-Control头和值为no-cache Pragma之间有什么区别?

为JSONP请求修改HTTP头

我正在使用jQuery来build立一个TwittersearchAPI的请求。 我正在使用jsonp,因为需要跨域请求。 但是,Twitter API指定您应该为这些请求设置唯一的User-Agent,并且如果您不这样做,则会限制您的请求。 问题是,我看不到通过jquery设置这个头的方法。 这是我正在使用的代码: $.ajax({ url: 'http://search.twitter.com/search.json', dataType: 'jsonp', type: 'get', data: { q: 'twitter' }, success: function(data) { alert(data.results); } }); 我曾尝试使用beforeSend方法,但似乎这个事件不会触发。 任何人都可以想出解决这个问题的办法吗? 谢谢。

如何通过JavaScript访问HTTP请求头域?

我想在我的客户端JavaScript中捕获HTTP请求头域,主要是Referer和User-Agent。 我怎样才能访问它们? Google Analytics(分析)设法通过JavaScript获取数据,并将其embedded到页面中,因此绝对有可能。 有关: 在JavaScript中访问网页的HTTP头

为什么我在调用Response.Redirect()时得到“在发送HTTP头之后无法redirect”?

当我调用Response.Redirect(someUrl)我得到一个HttpException:“发送HTTP标头后不能redirect”。 我为什么得到这个? 我该如何解决这个问题?

ASP.NET MVC和IEcaching – 操纵响应头无效

背景 我试图帮助一个同事debugging过去6个月没有问题的问题。 在最近部署ASP.NET MVC 2应用程序FileResult ,强制用户打开或保存PDF文件的FileResult响应在客户端计算机上存在足够长的时间, FileResult PDF阅读器无法打开它们。 IE的早期版本(特别是6)是唯一受影响的浏览器。 Firefox和Chrome以及更新版本的IE(> 8)都按预期行事。 考虑到这一点,下一节将定义重新创build问题所需的操作。 行为 用户单击一个指向一个操作方法的链接(带有href属性的普通超链接)。 操作方法生成一个表示为字节stream的PDF。 该方法总是重新创buildPDF。 在action方法中,头文件被设置为指示浏览器如何caching响应。 他们是: response.AddHeader("Cache-Control", "public, must-revalidate, post-check=0, pre-check=0"); response.AddHeader("Pragma", "no-cache"); response.AddHeader("Expires", "0"); 对于那些不熟悉标题的人来说: 一个。 caching控制:公共 指示响应可以被任何cachingcaching,即使它通常只在非共享caching中是不可caching或可caching的。 湾 caching控制:必须重新validation 当高速caching接收到的响应中存在must-revalidate指令时,该高速caching不应该在该条目失效之后才使用该条目来响应后续请求,而不必先用源服务器对其进行重新validation C。 caching控制:预先检查 (与IE5一起引入) 定义以秒为单位的时间间隔,之后必须检查实体的新鲜度。 在用户显示资源之后可能会发生检查,但确保在下一次往返中,caching副本将是最新的。 d。 caching控制:后检查 (与IE5引入) 定义以秒为单位的时间间隔,在此之前必须检查实体的新鲜度,然后向用户显示资源。 即 Pragma:no-cache (确保向后兼容HTTP / 1.0) 当请求消息中存在no-cache指令时,应用程序应该将请求转发给原始服务器,即使它具有正被请求的caching副本 F。 过期 Expires实体标题字段给出了响应被认为是陈旧的date/时间。 我们从操作中返回文件 return File(file, […]

理想的HTTPcaching控制标题为不同types的资源

我想find一个最小的头文件集,可以处理“全部”caching和浏览器(也可以使用HTTPS !) 在我的网站上,我将有三种资源: (1)永久可caching(公开/平等的所有用户) 例如:0A470E87CC58EE133616F402B5DDFE1C.cache.html( 由GWT自动生成 ) 这些文件在更改内容(基于MD5)时会自动分配一个新名称。 即使使用HTTPS,他们也应该尽可能地caching(所以我认为我应该设置Cache-Control: public ,特别是Firefox)。 如果内容发生了变化,他们不应该要求客户端往返于服务器进行validation。 (2)偶尔改变(所有用户公开/平等) 示例:index.html,mymodule.nocache.js 当部署新版本的站点时,这些文件会更改其内容而不更改URL。 他们可以被caching,但可能需要往返每次重新validation。 (3)每个请求的个人(私人/用户特定的) 例如:JSON响应 在任何情况下,永远不应该将这些资源caching到磁盘。 (除了可能我会有一些具体的请求,可以被caching。) 我有一个大概的想法,我可能会使用每个types的头,但总是有我可能会丢失的东西。

如何从http头获取文件大小

我想在下载之前获取http:/…/文件的大小。 该文件可以是网页,图像或媒体文件。 这可以通过HTTP头来完成吗? 如何下载文件HTTP头?

为一个请求设置HTTP标头

我在我的应用程序中有一个特定的请求需要基本身份validation,所以我需要设置该请求的授权标头。 我读了关于设置HTTP请求标头 ,但从我可以告诉,它将为该方法的所有请求设置头。 我在我的代码中有这样的东西: $http.defaults.headers.post.Authorization = "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="; 但我不希望每一个我的发布请求发送这个头。 有没有什么办法只为我想要的一个请求发送标题? 或者我必须在我的请求后删除它?

用于文件下载的HTTP头

我写了一个处理文件下载的PHP脚本,确定正在请求哪个文件,并设置正确的HTTP头来触发浏览器实际下载文件(而不是在浏览器中显示)。 我现在有一个问题,有些用户报告某些文件被错误地识别(所以无论扩展名,浏览器会认为它是一个GIF图像)。 我猜这是因为我没有在响应头中设置“Content-type”。 这是最有可能的情况吗? 如果是这样,是否有一个相当通用的types可以用于所有文件,而不是试图考虑每种可能的文件types? 目前我只设置值“Content-disposition:attachment; filename = arandomf.ile” 更新:我遵循这个指南在这里build立一个更强大的文件下载过程( http://w-shadow.com/blog/2007/08/12/how-to-force-file-download-with-php/ ) ,但脚本执行时和浏览器的下载对话框出现之间存在显着的延迟。 任何人都可以识别造成这一问题的瓶颈吗? 这是我的实现: /** * Outputs the specified file to the browser. * * @param string $filePath the path to the file to output * @param string $fileName the name of the file * @param string $mimeType the type of file */ function […]