标签: last-modified

(弱)ETags和Last-Modified

据我了解的规格,RFC 2616(HTTP/1.1)中引入的ETag是Last-Modified-Header的后继产品,它可以让软件架构师更好地控制它.缓存重新验证过程.

如果存在Cache-Validation-Headers(If-None-Match和If-Modified-Since),则根据RFC 2616,客户端(即浏览器)在检查资源时是否应使用ETag.根据RFC 2616的第14.26节,如果If-None-Match-Header中出现的ETag已更改,则服务器不得以304 Not Modified响应,并且服务器必须忽略其他If-Modified-Since-Header ,如果有的话.如果呈现的ETag匹配,则他不得执行请求,除非Last-Modified-Header中的Date表示如此.(如果提供的ETag匹配,服务器应该在GET或HEAD请求的情况下响应304 Not Modified ...)

这部分为一些猜测留下了空间:

  • 一个强大的ETag应该随时改变'',资源会发生变化.所以,必须用其他东西作为304 Not Modified来回应一个没有改变的ETag和一个If-Modified-Since-Header的请求,这是一个矛盾,因为强大的ETag说,资源是没有修改.(虽然这不是致命的,因为服务器可以再次发送相同的未更改的资源.)
  • ...

...好的当我写这篇文章的时候,问题就是这个答案:

上面提到的(小)矛盾是因为弱ETag.标有弱ETag的资源可能已经改变,尽管ETag没有.因此,在弱ETag的情况下,当ETag没有改变时回答3​​04 Not Modified是错误的,但是If-Modified-Since中呈现的日期不匹配,对吧?

etag http last-modified if-modified-since

18
推荐指数
1
解决办法
9332
查看次数

在mac bash上格式化修改日期/时间的文件?

在我的mac(雪豹)上的bash脚本中,我有一个路径和文件名,我需要获取该文件的修改日期/时间.我发现我能做到:
stat -f "%m" $MYFILE

但是,这将返回我假设的纪元日期/时间.我需要格式化的日期/时间:YYYYMMDDThhmmss.我发现了各种各样的选项(比如date)显然依赖于GNU,这在我的mac上我没有.

在mac(BSD?)bash上以用户指定的格式修改文件的日期/时间的标准方法是什么?或者至少是一个日期/时间格式化功能,我可以将stat上面的呼叫结果传递给.

macos bash datetime bsd last-modified

18
推荐指数
1
解决办法
1万
查看次数

在VB.NET中获取文件修改日期

我在文件夹中有许多文件,我需要获取最后修改日期.所以我用过

FDate = IO.File.GetLastWriteTime(FName)
Run Code Online (Sandbox Code Playgroud)

它适用于某些文件,但在其他文件中,我得到的日期为1/1/1601.但是当我在Windows资源管理器中检查文件时,所有日期看起来都很正常(最近).所以,我猜测文件系统中存储了多个文件日期,而.NET所看到的并不是Windows所看到的.如何在文件资源管理器窗口中准确显示"修改日期"的日期?

我尝试了一些Visual Basic 6.0 API的东西,但这似乎不适用于.NET.

.net vb.net file-io last-modified

17
推荐指数
2
解决办法
7万
查看次数

有没有办法在Amazon S3中触摸()文件?

我目前正在使用Amazon S3,我正在编写一个检查修改日期的程序.

我需要的是编辑修改日期的解决方案.

我可以循环播放所有文件并保存它们,但这听起来像是一个糟糕的解决方案.

在PHP中有这个函数touch().

有没有人知道解决方案,或有同样的问题?

metadata amazon-s3 last-modified

16
推荐指数
4
解决办法
9526
查看次数

检索文件创建或修改日期

我正在使用这段代码来尝试检索文件的最后修改日期:

NSError *error = nil;
NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath: myFilePath error:&error];

        if (attributes != nil) {
            NSDate *date = (NSDate*)[attributes objectForKey: NSFileModificationDate];
            NSLog(@"Date modiifed: %@", [date description]);
        }
        else {
            NSLog(@"Not found");
        }
Run Code Online (Sandbox Code Playgroud)

这适用于主包中的文件,但如果文件位于应用程序文档文件夹的子目录中,则不适用,myFilePath如下所示:

/Users/User/Library/Application Support/iPhone Simulator/6.0/Applications/The App ID Number/Documents/mySubdirectory/My Saved File
Run Code Online (Sandbox Code Playgroud)

它不断返回"未找到".

我知道文件在那里,因为我可以用finder查看它.我也尝试删除文件名中的空格,但这没有任何效果.

错误日志说没有这样的文件或目录,所以当我尝试将文件复制到文档目录时,看起来肯定出错了.

奇怪的是,迭代文档子目录,contentsOfDirectoryAtPath显示文件存在.

我已尝试对路径进行硬编码并以编程方式检索它,其中:

*myFolder = [documentsDirectory stringByAppendingPathComponent:@"myFolder"];
*myFilePath = [myFolder stringByAppendingPathComponent:theFileName];
Run Code Online (Sandbox Code Playgroud)

谁能看到我哪里出错了?

xcode objective-c last-modified ios nsdocumentdirectory

16
推荐指数
3
解决办法
1万
查看次数

获取Core Data中NSManagedObject的修改日期?

除了向我的Core Data存储中的每个Entity添加NS​​Date属性之外,是否有一种编程方式来获取任何对象的修改日期?

iphone core-data last-modified nsmanagedobject ios

15
推荐指数
4
解决办法
7358
查看次数

Android ContactsContract:上次修改时间

我想将Android Contacts Phone克隆到我自己的SQLite数据库中.为了节省时间,应在Android系统中新创建或更新单个联系人时触发克隆.因此,我希望每个联系人都有"最后修改时间".

对于API级别18或更高级别,似乎我将通过使用ContactsContract.Contacts.CONTACT_LAST_UPDATED_TIMESTAMP获得单个人联系的最后修改时间.但是对于API级别17或更低级别,似乎之前有一些讨论建议使用"ContactsContract.RawContacts.VERSION"或"CONTACT_STATUS_TIMESTAMP".

对于"CONTACT_STATUS_TIMESTAMP",它始终返回ZERO或null.对于"ContactsContract.RawContacts.VERSION",当我更新一个人的联系人的照片,电话号码或电子邮件时,版本保持不变.

很高兴如果有人会指出我犯的错误......

参考: 如何获取联系人列表的最后修改日期(添加/删除/修改)

android last-modified android-contacts

15
推荐指数
1
解决办法
1850
查看次数

如何获取Java资源的上次修改时间?

有人可以告诉我一个可靠的方法来获取Java资源的最后修改时间吗?资源可以是JAR中的文件或条目.

java resources last-modified

13
推荐指数
3
解决办法
1万
查看次数

是否可以从资产文件中获取最后修改日期?

奇怪的问题:是否有可能在资产文件夹中获取文件的最后修改日期,或者这是毫无意义和不可能的?

我问,因为我在应用程序启动时将一个只读数据库复制到数据文件夹中,但是如果现有文件比存储在assets文件夹中的文件旧(或者如果文件),则只会执行复制不存在).

如果那不可能,任何人都知道一个更好的约定?如果需要,我可以在一个单独的问题中发布.TIA!

sqlite android assets last-modified

13
推荐指数
1
解决办法
5178
查看次数

maven如何只编译修改过的java文件?

我只是很想知道这一点,当我给mvn install而不做'clean'时,maven只编译修改过的java文件.maven如何识别java文件是否被修改?我相信它没有使用文件的最后修改属性.

我相信的原因:我有一个模块,在合并svn的更改后,我给了mvn install并且它没有编译修改后的文件,当我看到更改时,我看到'long'被修改为'Long'in吸气剂和二传手.

所以我只是想知道如果java文件发生了变化,maven如何识别?

(PS我正在使用Apache Maven 3.0.3,如果这很重要)

java compilation last-modified maven-3 maven

13
推荐指数
2
解决办法
9795
查看次数