Back Button (Browser Behavior)

前端 未结 2 1093
难免孤独
难免孤独 2021-01-11 11:55

When the back button is pressed in a web browser, is the default action to send a get request or serve from the browsers history?

If its browser specific, what would

相关标签:
2条回答
  • 2021-01-11 12:03

    I just tested this in Chrome and Firefox for fun

    When I press back in Chrome on a Google search page, no requests happen. The browser pulls from cache.

    In Firefox, I actually get a 204 No Content with the path being http://clients1.google.ca/generate_204 from Google.

    I found this using Charles proxy so it's nothing scientific :)

    0 讨论(0)
  • 2021-01-11 12:23

    Informal Answer

    If the previous page was a GET request, the page is typically fetched from the browser's cache unless the cache time on the page has expired (this expiration time is set by the administrators of the web page), or another factor leads the browser to believe the information isn't fresh enough.

    If the previous page was a POST request, the browser usually asks you if you'd like to resend the information and the page is fetched from the server.

    Formal Answer

    This is covered in Section 13 of the HTTP Protocol specification that browsers should implement.

    Specifically, 13.10 states that:

    Some HTTP methods MUST cause a cache to invalidate an entity. This is either the entity referred to by the Request-URI, or by the Location or Content-Location headers (if present). These methods are:

      - PUT
      - DELETE
      - POST
    

    Other types of requests (such as a GET), may be cached. Read through the full spec if you want the gory details, but the spec is setup in a way that allows the browser to use its cache as much as possible.

    0 讨论(0)
提交回复
热议问题