代码之家  ›  专栏  ›  技术社区  ›  Kladskull

后退按钮(浏览器行为)

  •  13
  • Kladskull  · 技术社区  · 16 年前

    在Web浏览器中按下后退按钮时,默认操作是从浏览器历史记录发送GET请求还是服务?

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

    2 回复  |  直到 16 年前
        1
  •  16
  •   Ben S    16 年前

    非正式回答

    如果上一页是 GET request ,除非页面上的缓存时间已过期(此过期时间由网页管理员设置),或者其他因素导致浏览器认为信息不够新鲜,否则通常会从浏览器的缓存中提取页面。

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

    正式回答

    这包括在 Section 13 HTTP Protocol specification 浏览器应该实现。

    具体来说,13.10规定:

    某些HTTP方法必须导致缓存 使实体失效。这是 由 请求URI,或按位置或 内容位置标题(如果存在)。 这些方法是:

      - PUT
      - DELETE
      - POST
    

    其他类型的请求(如get)可以缓存。如果您希望了解详细的详细信息,请阅读完整的规范,但是规范的设置方式允许浏览器尽可能多地使用其缓存。

        2
  •  1
  •   Bartek    16 年前

    我刚在Chrome和火狐上测试过这个游戏

    当我在谷歌搜索页面上按回Chrome时,不会有任何请求发生。浏览器从缓存中提取。

    在火狐中,我得到了 204 No Content 有了这条路 http://clients1.google.ca/generate_204 来自谷歌。

    我发现这个用 Charles 代理,所以这不科学。)