Bug: Page Info: General: field "Modified:" may show misleading date time information, more fields required
Status: NEW
Priority: --
Created: 2021-10-08 18:52:31+00:00
Resolved: 2021-10-16 17:48:35+00:00

In Page Info: General tab, window field "Modified:" is not handled properly and besides this it is not enough information, see also bug 1196500 and bug 1703342.

Here I'll try to summarize how that field (Modified:) should be managed and why a new window field (Retrieved: or Accessed:) would be very useful.

Window field "Modified:" should show the value of "Last-Modified:" HTTP header but if that header is not found in server response then it show date and time of the opening of Page Info window.

IMHO this is wrong because if you open ten times the Page Info Window you see that date and time is updated even if the web page has not been reloaded.

How to reproduce:
1. access a dynamic web page that has no "Last-Modified:" HTTP header in server response;
2. open a few times Page Info window and see that "Modified:" date and time value is updated everytime the window is opened even if web page has not changed.

All this is misleading and incomplete information so, as wished by many Firefox users, here it is a proposal to show separate information in different window fields.

As stated by RFC 7232, this "Last-Modified:" HTTP header should always be present in HTTP/1.1 and later versions, even if there is an "ETag:" header (unfortunately this directive is rarely followed by web servers and application programs).

"Last-Modified:" header exists since HTTP/1.0 so the following criteria could be adopted (just a few hints):

1. if a "Last-Modified:" HTTP header was found in server response for the web page then use that value in "Modified:" date time (just like it happens now);

2. if a "Last-Modified:" HTTP header was NOT found in server response then use a placeholder like Modified: "Unknown" (or something like that) as date time value; of course this value should be updated whenever a dynamic page that can grow when scrolled down is changed by making new HTTP request to server (OK, this might be tricky);

3. add a new window field named "Served:" using "Date:" HTTP header or "Unknown" if "Date:" header was not found (this should never happen but you may never know);

4. add a new window field named "Retrieved:" or "Accessed:" using local date and time of when the web page was retrieved (maybe the start time or the completion time of the network response of the web page or something like that);  indeed if a web page changes soon after a server response started then this should not affect the content being retrieved so the local "start time" of the response could be a proper choice;

5. if the retrieval of the web page / web object was not completed (i.e. it was interrupted, etc.), Firefox could add this kind of string:  "(interrupted / not completed)" after the date time value of "Retrieve:" field;

NOTE: maybe for the status information of the page / object retrieved, it would be better to add another window field named "Completion status:" with one of these values: "OK", "(interrupted)" (by user), "(not completed)" (interrupted by server or because of other causes).