de-vraag
  • Otázky
  • Značky
  • Používatelia
Oznámenia
Odmeny
Registrácia
Po registrácii budete informovaní o odpovediach a komentároch na vaše otázky.
Prihlásiť sa
Ak už máte konto, prihláste sa a skontrolujte nové oznámenia.
Za pridané otázky, odpovede a komentáre budú udelené odmeny.
Viac na
Zdroj
Upraviť
Morgan Cheng
Morgan Cheng
Question

Aké požiadavky generujú prehliadače' "F5" a "Ctrl + F5"?

Existuje štandard pre to, aké akcie F5 a Ctrl + F5 spúšťajú webové prehliadače?

Raz som robil pokus v IE6 a Firefoxe 2.x. Obnovenie F5 by spustilo požiadavku HTTP odoslanú na server s hlavičkou If-Modified-Since, zatiaľ čo Ctrl + F5 by takúto hlavičku nemalo. Podľa môjho chápania sa F5 bude snažiť využiť obsah uložený v medzipamäti v čo najväčšej možnej miere, zatiaľ čo Ctrl + F5 má za cieľ vzdať sa všetkého obsahu uloženého v medzipamäti a celý obsah len znovu načítať zo serverov.

Dnes som si však všimol, že v niektorých najnovších prehliadačoch (Chrome, IE8) to už takto nefunguje. Ako F5, tak aj Ctrl + F5 posielajú hlavičku If-Modified-Since.

Ako to má teda fungovať, alebo (ak neexistuje štandard) ako sa hlavné prehliadače líšia v tom, ako implementujú tieto funkcie obnovenia?

388 2008-12-22T02:00:08+00:00 3
Krzysztof Krasoń
Krzysztof Krasoń
Edited question 9 apríl 2016 в 9:51
Programovanie
cross-browser
caching
http
browser
refresh
This question has 1 odpoveď in English, to read them log in to your account.
 some
some
22 december 2008 в 3:40
2008-12-22T03:40:59+00:00
Viac na
Zdroj
Upraviť
#8704963

Záleží na prehliadači, ale správajú sa podobne.

Testoval som FF, IE7, Operu a Chrome.

F5 zvyčajne aktualizuje stránku len vtedy, ak je upravená. Prehliadač sa zvyčajne snaží čo najviac využívať všetky typy vyrovnávacej pamäte a do požiadavky pridáva hlavičku "If-modified-since". Opera sa líši tým, že posiela "Cache-Control: no-cache".

CTRL-F5 sa používa na vynútenie aktualizácie bez ohľadu na akúkoľvek vyrovnávaciu pamäť. IE7 pridáva "Cache-Control: no-cache", rovnako ako FF, ktorý pridáva aj "Pragma: no-cache". Chrome použije normálne "If-modified-since" a Opera tento kľúč ignoruje.

Ak si dobre pamätám, bol to Netscape, ktorý ako prvý prehliadač pridal podporu pre cache-control pridaním "Pragma: No-cache" pri stlačení CTRL-F5.

Upraviť: Aktualizovaná tabuľka

Nasledujúca tabuľka je aktualizovaná o informácie o tom, čo sa stane po kliknutí na tlačidlo refresh prehliadača'(po požiadavke Joel Coehoorn) a o "max-age=0" Cache-control-header.

Aktualizovaná tabuľka, 27. septembra 2010

┌────────────┬───────────────────────────────────────────────┐
│  UPDATED   │                Firefox 3.x                    │
│27 SEP 2010 │  ┌────────────────────────────────────────────┤
│            │  │             MSIE 8, 7                      │
│ Version 3  │  │  ┌─────────────────────────────────────────┤
│            │  │  │          Chrome 6.0                     │
│            │  │  │  ┌──────────────────────────────────────┤
│            │  │  │  │       Chrome 1.0                     │
│            │  │  │  │  ┌───────────────────────────────────┤
│            │  │  │  │  │    Opera 10, 9                    │
│            │  │  │  │  │  ┌────────────────────────────────┤
│            │  │  │  │  │  │                                │
├────────────┼──┼──┼──┼──┼──┼────────────────────────────────┤
│          F5│IM│I │IM│IM│C │                                │
│    SHIFT-F5│- │- │CP│IM│- │ Legend:                        │
│     CTRL-F5│CP│C │CP│IM│- │ I = "If-Modified-Since"        │
│      ALT-F5│- │- │- │- │*2│ P = "Pragma: No-cache"         │
│    ALTGR-F5│- │I │- │- │- │ C = "Cache-Control: no-cache"  │
├────────────┼──┼──┼──┼──┼──┤ M = "Cache-Control: max-age=0" │
│      CTRL-R│IM│I │IM│IM│C │ - = ignored                    │
│CTRL-SHIFT-R│CP│- │CP│- │- │                                │
├────────────┼──┼──┼──┼──┼──┤                                │
│       Click│IM│I │IM│IM│C │ With 'click' I refer to a      │
│ Shift-Click│CP│I │CP│IM│C │ mouse click on the browsers    │
│  Ctrl-Click│*1│C │CP│IM│C │ refresh-icon.                  │
│   Alt-Click│IM│I │IM│IM│C │                                │
│ AltGr-Click│IM│I │- │IM│- │                                │
└────────────┴──┴──┴──┴──┴──┴────────────────────────────────┘

Testované verzie:

  • Firefox 3.1.6 a 3.0.6 (WINXP)
  • MSIE 8.0.6001 a 7.0.5730.11 (WINXP)
  • Chrome 6.0.472.63 a 1.0.151.48 (WINXP)
  • Opera 10.62 a 9.61 (WINXP)

Poznámky:

  1. Verzia 3.0.6 posiela I a C, ale verzia 3.1.6 otvára stránku v novej karte, a vytvorí normálnu požiadavku len s "I".

  2. Verzia 10.62 nerobí nič. Verzia 9.61 by mohla robiť C, pokiaľ to nebol preklep v mojej starej tabuľke.

Poznámka k prehliadaču Chrome 6.0.472: Ak vykonáte vynútené opätovné načítanie (ako napríklad CTRL-F5), správa sa to tak, ako keby bola url interne označená tak, aby sa vždy vykonalo vynútené opätovné načítanie. Príznak sa zruší, ak prejdete do adresného riadka a stlačíte enter.

 tgogos
tgogos
Edited answer 8 jún 2017 в 6:23
520
0
Solution / Answer
 dancavallaro
dancavallaro
22 december 2008 в 2:10
2008-12-22T02:10:55+00:00
Viac na
Zdroj
Upraviť
#8704962

Všeobecne povedané:

F5 vám môže zobraziť tú istú stránku, aj keď je obsah zmenený, pretože môže načítať stránku z vyrovnávacej pamäte. Ale Ctrl-F5 vynúti obnovenie vyrovnávacej pamäte a zaručí, že ak sa obsah zmení, dostanete nový obsah.

 naXa
naXa
Edited answer 11 marec 2014 в 9:20
301
0
Anonymný používateľ
6 marec 2009 в 7:26
2009-03-06T07:26:53+00:00
Viac na
Zdroj
Upraviť
#8704964

Keď používateľ stlačí F5 hoci nová požiadavka ide na webový server a dostane odpoveď aj na túto požiadavku. Ale keď je hlavička odpovede analyzovaná, skontroluje požadované informácie vo vyrovnávacej pamäti prehliadača. Ak platnosť požadovaných informácií vo vyrovnávacej pamäti nevypršala, potom sa tieto informácie obnovia z vyrovnávacej pamäte.

Keď používateľ klikne na CTRL-F5 aj vtedy nová požiadavka prejde na webový server a dostane odpoveď. Ale tentoraz, keď sa analyzuje hlavička odpovede, nekontroluje sa žiadna požadovaná informácia v medzipamäti a všetky aktualizované informácie sa prenesú len zo servera.

 naXa
naXa
Edited answer 11 marec 2014 в 9:26
1
0
Pridať otázku
Kategórie
Všetky
Technológia
Kultúra / Rekreácia
Život / Umenie
Veda
Profesionálne
Obchod
Používatelia
Všetky
New
Popular
1
Zuxriddin Muydinov
Registered pred 10 hodinami
2
Денис Анненский
Registered pred 2 dňami
3
365
Registered pred týždňom
4
True Image
Registered pred týždňom
5
archana agarwal
Registered pred týždňom
BG
DE
EL
ES
FR
ID
IT
JA
NL
PT
RU
SK
TR
ZH
© de-vraag 2022
Zdroj
stackoverflow.com
na základe licencie cc by-sa 3.0 s uvedením autora