当我查看ASIHTTPRequest中的代码时,我发现了以下部分
if (![[self requestMethod] isEqualToString:@"GET"]) {
[self setDownloadCache:nil];
}
但我不知道为什么?谁能告诉我原因?
答案 0 :(得分:1)
一般来说,GET请求应该没有副作用:他们所做的就是产生一个响应(如果我没记错的话,这在http规范中有描述)。缓存响应并使用它来避免将来发出请求是完全安全的。
另一方面,像post,put,delete这样的其他http方法通常会产生副作用,因此仅返回上一个响应是不安全的:调用者可能依赖于副作用(例如插入一行)进入数据库)。在这种情况下,您不仅要缓存“记录创建页面”并从缓存中显示而不是实际发出请求。