问题标签 [etag]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何创建具有过期日期的 Etag
我正在考虑创建一个带有过期日期的 etag。
实际上我创建了一个带有大量参数的 etag,但我想用过期日期来制作它。
我有将信息保存在服务器端的解决方案,但我更喜欢将任何信息编码到其中。
我正在寻找更好的方法来做到这一点。
我正在考虑使用 cookie 的解决方案
caching - 关于处理过期标题、etag 和内容更新的想法?
我已经在我的网站上实现了与服务器无关的 eTag,我现在正在考虑添加过期标头以防止大多数 304 请求。
我担心使用长过期标头,因为如果您需要更新内容,则很难强制刷新。而且我也不喜欢用版本控制查询字符串来弄乱我的代码,例如:
因此,我正在考虑将过期标头设置为几乎所有内容的短时间,例如 10 分钟。这样,我可能只有 10 分钟的陈旧内容窗口,但对于正常的浏览会话,我将停止大部分 304。即使他们确实停留更长时间,除非内容发生变化,否则我只会每 10 分钟提供一次 304。
它看起来很优雅,但我已经看到很多网站使用上述版本控制查询字符串方法,甚至谷歌的 mod_pagespeed 也有一个或多或少自动执行版本控制的选项,所以我只是好奇这是一个可靠的方法还是我错过了一些使它不切实际的东西。
谢谢
emacs - Emacs TAGS 表被 lex/yacc 文件中的 #line 指令混淆
我正在尝试使用 etags 为大型软件项目生成 TAGS 表。由于 lex/yacc 生成的 .c 文件中的 #line 指令引用非限定文件名而不是 #包含包含该文件的子目录的行。
如何使用这些#line 指令正确解析到子目录中的现有文件而不是被解释为顶级文件来生成 TAGS 表?
我从顶级目录运行这样的 etags:
但是我有一个文件 act/Par.c,它在生成的文件中间包含以下几行:
这导致以下 TAGS 表条目:
但是 Par.y 文件实际上位于 act/Par.y,但 #line 指令是相对于当前文件的,而 TAGS 使其相对于生成的 TAGS 文件。
在不改变构建项目的方式的情况下,如何生成 TAGS 文件,以便将这些 #line 指令正确解释为与它们所在的文件相关?或者,我怎样才能轻松跳过这些麻烦的文件?
asp.net - 使用 PowerShell 设置 Filetimestamp:ChangeNumber 以强制 IIS 中的 ETag 在整个 webfarm 中保持一致
我正在使用 PowerShell 脚本将 ASP.Net Web 应用程序部署到 Web 场。显然,我希望两台服务器的 ETag 相同。
我知道 ETag 是使用生成的,Filetimestamp:ChangeNumber
但是我不知道如何设置文件的 ChangeNumber。我发现了一篇声称可以做到这一点的博客文章(参考 1),但是它设置LastWriteTime
和CreationTime
.
将 和 设置LastWriteTime
为CreationTime
与源文件相同会强制 ETag 相同吗?还是我需要以某种方式设置ChangeNumber
?
是否可以设置ChangeNumber
使用 PowerShell?还是我完全误解了 ETags?
参考 1. http://omaralzabir.com/synchronize-file-date-time-in-multiple-servers-solve-iis-etag-problem/
asp.net-mvc - ASP.NET MVC - web.config 中的缓存和压缩设置并不总是被使用
在我的 ASP.NET MVC 2 应用程序中,我使用以下属性装饰了一个操作。
(对于 ETag 属性,我使用了在此处找到的属性类。)
我还在我的 web.config 中添加了以下内容。
我的问题是,当我从托管服务器加载页面并在 Firebug 中查看标题时,我收到了一个 ETag,但没有缓存到期。
当我在本地加载页面时,响应没有ETag,但确实设置了“Cache-Control”和“Expires”字段。
另外,请注意,虽然我在 web.config 中设置了 gzip 压缩,但它并没有出现在任何一个响应标头中。
那么为什么我的 web.config 文件中的设置有时会被忽略呢?我的托管服务器是否有可能覆盖这些?如果是这样,他们删除缓存或压缩设置没有多大意义,不是吗?
eclipse - 如何使用 Etags 在 Emacs 中找到类、方法、变量的引用?
我想在 Emacs 中找到对类、方法、变量的所有引用,就像我在 Eclipse 中Ctrl+Shift+G(或Cmd+Shift+G在 Mac 上)设置项目的 ETag 后能够做到的那样。
我可以很好地浏览代码,但是找到对事物的引用是理解大型代码库的关键,我确信这在 Emacs 中一定是可能的,但我找不到任何关于它的东西,也许 Emacs 专家会马上知道。
谢谢。
python - Python:避免在抓取时下载未更改页面的最佳算法
我正在编写一个爬虫,它会定期检查新闻网站列表中的新文章。我已经阅读了避免不必要的页面下载的不同方法,基本上确定了 5 个标题元素,这些元素可能有助于确定页面是否已更改:
- HTTP 状态
- 电子标签
- Last_modified(与 If-Modified-Since 请求结合使用)
- 过期
- 内容长度。
优秀的FeedParser.org似乎实现了其中一些方法。
我正在寻找做出这种决定的 Python(或任何类似语言)的最佳代码。请记住,标头信息始终由服务器提供。
这可能是这样的:
c# - How do I generate an http ETag in c#?
Given a file being returned as part of a http request. What is the correct method of creating an ETag for that file?
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19
I have seen it done several ways
- Using the last write time of the file converted to ticks. Which is what NancyFX does https://github.com/NancyFx/Nancy/blob/master/src/Nancy/Responses/GenericFileResponse.cs
- Using a hash of the file http://hartzer.wordpress.com/2009/10/04/client-side-caching/
etag - Clicklifter 出现在 ETag 中
我刚刚在我的网站上运行了YSlow,它显示在 ETag 下:
我不知道它是什么或如何摆脱它,我在任何地方都找不到有关此的任何信息。
如果我在视图源中看不到它,但它显示在YSlow中的“配置实体标签”下,至少有人能告诉我如何摆脱它吗?