Czy odpowiedzi HTTP 304 niezmodyfikowane powinny zawierać nagłówki kontroli pamięci podręcznej?

Próbowałem to zrozumieć i przeszukałem SO dla podobnych pytań, ale nadal nie mam 100% zrozumienia, jak to ma działać.

Otrzymuję tę odpowiedź na prośbę o zasób obrazu:

Response Headers
    Server  Apache-Coyote/1.1
    Date    Mon, 19 Oct 2009 09:04:04 GMT
    Expires Mon, 19 Oct 2009 09:06:05 GMT
    Cache-Control   public, max-age=120
    Etag    image_a70703fb393a60b6da346c112715a0abd54a3236
    Content-Disposition inline;filename="binary-216-420"
    Content-Type    image/jpg;charset=UTF-8
    Content-Length  4719

Pożądane zachowanie polega na tym, że klient powinien buforować to przez 120 sekund, a następnie zażądać go ponownie od serwera. W ciągu 120 sekund żadne żądanie nie jest wysyłane na serwer.

Następnie po 120 sekundach wysyłane jest żądanie i otrzymywana jest odpowiedź 304:

Response Headers
    Server  Apache-Coyote/1.1
    Date    Mon, 19 Oct 2009 09:06:13 GMT

Request Headers
    Host    localhost:8080
    User-Agent  Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3
    Accept  image/png,image/*;q=0.8,*/*;q=0.5
    Accept-Language en-us,no;q=0.8,sq;q=0.7,en;q=0.5,sv;q=0.3,nn;q=0.2
    Accept-Encoding gzip,deflate
    Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Keep-Alive  300
    Connection  keep-alive
    Referer http://localhost:8080/cms/site/0/en/home
    Cookie  JSESSIONID=768ABBE1A3BFABE3B535900233330650; versionsCssDisplayState=block; iceInfo=iceOn:false,activePortletKey:,icePagePanelX:1722,icePagePanelY:3
    If-None-Match   image_a70703fb393a60b6da346c112715a0abd54a3236

Do tej pory wszystko w porządku. Ale potem, przy następnym żądaniu (w ciągu 120 sekund), pomyślałem, że zasób powinien być buforowany przez 120 nowych sekund. Z drugiej strony widzę w przeglądarce (Firefox), że od tego momentu zawsze żąda zasobu i otrzymuje odpowiedź 304.

Czy mam dołączyć nagłówki kontrolujące pamięć podręczną w odpowiedzi 304? Z tego, co mogę przeczytać w specyfikacji, wydaje się, że ustawienia kontroli pamięci podręcznej powinny zostać pominięte, a pamięć podręczna powinna automatycznie buforować ją na 120 nowych sekund?

questionAnswers(3)

yourAnswerToTheQuestion