2009-11-04 162 views
13

当在Web浏览器中按下后退按钮时,是否从浏览器历史记录发送获取请求或服务的默认操作?后退按钮(浏览器行为)

如果它的浏览器特定,那么Internet Explorer和Firefox的默认操作是什么?

+2

好问题,添加注释记得读答案。 – 2009-11-04 15:24:34

回答

16

非正式回答

如果前一页是GET request,页面通常是从浏览器的缓存中提取,除非页面上的缓存时间已到期(此过期时间由网络管理员设定的页面),或另一个因素导致浏览器相信信息不够新鲜。

如果上一页是POST request,浏览器通常会询问您是否希望重新发送信息并从服务器获取页面。

正式回答

这是覆盖在该浏览器应执行HTTP Protocol specificationSection 13

具体地说,13.10指出:

一些HTTP方法必须使高速缓存 无效的实体。这是 要么是由 Request-URI引用的实体,要么是由Location或 Content-Location标头(如果存在)引用的实体。 这些方法是:

- PUT 
    - DELETE 
    - POST 

其他类型的请求(例如,GET)的,可以被高速缓存。如果您需要血淋淋的细节,请仔细阅读完整的规范,但规范的设置方式允许浏览器尽可能使用缓存。

1

我只是测试这在Chrome和Firefox的乐趣

当我按下回在Chrome浏览器谷歌搜索页面上,没有请求发生。浏览器从缓存中拉出。

在Firefox中,我实际上得到了一个204 No Content,路径是Google的http://clients1.google.ca/generate_204

,我发现这个使用Charles代理,因此它没有什么科学的:)