If-Modified-Since request-header & Internet Explorer @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 3 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Paul Yanchenko Муж.
новый человек
1
Сообщения: 112
Зарегистрирован: 05.02.04
Откуда: Екатеринбург
Заголовок сообщения: If-Modified-Since request-header & Internet Explorer
Сообщение Добавлено: 9 Февраль 2006, 16:45:06 
Привет!

Столкнулся с проблемой, хочу разобраться. Спецификация протокола HTTP (RFC-2616) для заголовка запроса If-Modified-Since предусматривает следующий синтаксис:

Код:
       If-Modified-Since = "If-Modified-Since" ":" HTTP-date


То есть мы должны ожидать в этом заголовке исключительно дату в формате HTTP. Однако, Internet Explorer 6.0 (самый последний билд) передает помимо даты через ";" дополнительный параметр. Выглядит это так:

Код:
If-Modified-Since: Thu, 09 Feb 2006 13:21:00 GMT; length=658
                                                ^^^^^^^^^^^^ - ???


Я пытаюсь разобраться откуда появилось это "; length=xxx"? На основании какого официального стандарта или предложения Internet Explorer изменил формат этого заголовка? Справедливо ли это для каких-либо других заголовков?
gregzem Муж.
новый человек
2
Сообщения: 252
Зарегистрирован: 29.04.03
Сообщение Добавлено: 10 Февраль 2006, 16:04:47 
Даже для спецификации HTTP/1.1 я что-то не припомню аргумент length. Хотя его присутствие, понятное дело, делает работу с кешем более эффективной.

Есть мысль проверить IIS на предмет понимания этого "length". Все-таки одна компания делала и клиента, и сервер.
Paul Yanchenko Муж.
новый человек
1
Сообщения: 112
Зарегистрирован: 05.02.04
Откуда: Екатеринбург
Сообщение Добавлено: 10 Февраль 2006, 18:20:42 
Я кое-что выяснил. Оказывается, это какое-то Netscape'овское расширение протокола HTTP/1.0. Дополнительная проверка по длине была в каком-то смысле палочкой-выручалочкой в ситуациях, когда объект HTTP менялся чаще, чем 1 раз в секунду (хотя совпадение размера не гарантирует неизменность содержимого, все же это лучше, чем совсем ничего).

В HTTP/1.1 эта проблема решена введением заголовка-ответа ETag и заголовка-запроса If-None-Match, которые работают с хэшем содержимого объекта и полностью гарантируют неизменность объекта при неизменности хэша.

Однако, IE почему-то игнорирует и не использует эти заголовки, а вместо этого по-прежнему пользуется устаревшим расширением из HTTP/1.0... :-(
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 3 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100