Какие запросы выполняет браузер & ldquo; F5 & rdquo; и & ldquo; Ctrl + F5 & rdquo; обновляет генерировать?

Вы можете подняться на вершину дерева каталогов, сохраняя имена по мере продвижения, а затем вставляйте имена вместе одновременно. По крайней мере, вы не делаете ненужных копий, нажимая на фронт.

int i = 0;
int j;

char temp*[MAX_DIR_DEPTH], file[LENGTH];

while (some_condition) {
    temp[i++] = some_calculation_that_yields_name_of_parent_dir;        
}

char *pCurrent = file;    
for( j = i-1; j > 0; j-- )
{
    strcpy(pCurrent, temp[j]);
    pCurrent += strlen(temp[j]);
    *pCurrent++ = '\';
}
strcpy(pCurrent, filename);
*pCurrent = 0;
384
задан Krzysztof Krasoń 9 April 2016 в 09:51
поделиться

4 ответа

Вообще говоря:

F5 может дать Вам ту же страницу, даже если содержание изменяется, потому что это может загрузить страницу из кэша. Но Ctrl - F5 вызывает обновление кэша и гарантирует, что, если содержание изменяется, Вы получите новое содержание.

297
ответ дан naXa 9 April 2016 в 09:51
поделиться

Это до браузера, но они ведут себя похожими способами.

я протестировал FF, IE7, Opera и Chrome.

F5 обычно обновляет страницу, только если это изменяется. Браузер обычно пытается использовать все типы кэша как можно больше и добавляет заголовок "If-modified-since" к запросу. Opera отличается путем отправки "Управления Кэша: без кэшей".

CTRL - F5 используется для принуждения обновления, игнорируя любой кэш. IE7 добавляет "Управление Кэша: без кэшей", как делает FF, который также добавляет "Прагму: без кэшей". Chrome делает нормальный "If-modified-since", и Opera игнорирует ключ.

, Если я помню правильно, это был Netscape, который был первым браузером, который добавит поддержку управления кэша путем добавления "Прагмы: без кэшей", когда Вы нажали CTRL - F5 .

Редактирование: таблица

Updated приведенная ниже таблица обновляется с информацией о том, что произойдет, когда кнопка Обновить браузера будет нажата (после запроса Joel Coehoorn ), и "max-age=0" Заголовок управления кэша.

таблица Updated, 27 сентября 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│- │                                │
└────────────┴──┴──┴──┴──┴──┴────────────────────────────────┘

Версии протестировали:

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

Примечания:

  1. Версия 3.0.6 отправляет, я и C, но 3.1.6 открываем страницу в новой вкладке, выполняя нормальный запрос с только "I".

  2. Версия 10.62 ничего не делает. 9.61 мог бы сделать C, если это не была опечатка в моей старой таблице.

Примечание о Chrome 6.0.472 : Если Вы делаете принудительную перезагрузку (как CTRL - F5 ), это ведет себя как URL, внутренне отмечен, чтобы всегда сделать принудительную перезагрузку. Флаг очищен, если Вы переходите к строке поиска и нажимаете Enter.

519
ответ дан tgogos 9 April 2016 в 09:51
поделиться

Когда пользовательский F5 нажатия, хотя новый запрос переходит к веб-серверу и получает ответ для запроса также. Но когда заголовок ответа Анализируется, он проверяет запрошенную информацию в кэш браузера. Если запрошенная информация в кэше не истекла тогда, что информация восстанавливается от в самом кэше.

, Когда пользователь нажимают CTRL - F5 , даже тогда новый запрос переходит к веб-серверу, и получите ответ. Но на этот раз когда заголовок ответа Анализируется, он не проверяет запрошенной информации в кэш и приносит весь обновленный информационный сервер формы только.

1
ответ дан naXa 9 April 2016 в 19:51
поделиться

По крайней мере, в Firefox (v3.5) кеш, кажется, отключен , а не просто очищен. Если на странице есть несколько экземпляров одного и того же изображения, оно будет передано несколько раз. То же самое и с тегами img , которые впоследствии добавляются через Ajax / JavaScript.

Итак, если вам интересно, почему браузер продолжает загружать один и тот же значок несколько сотен раз на вашем автозагрузке. обновите сайт Ajax, потому что вы изначально загрузили страницу с помощью CTRL - F5 .

9
ответ дан 22 November 2019 в 23:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: