Хорошо - я тестирую веб-приложение и получаю какое-то странное поведение на моем компьютере для разработки, которое я не могу отработать. Такое же поведение не проявляется на машине коллег.
Проблема заключается в следующем: я делаю два запроса к index.aspx. Первый запрос возвращается как HTTP 200 (как я и ожидал), но второй запрос извлекается из кэша браузера. Я очищаю кеш в начале каждого теста, чтобы убедиться, что тесты согласованы. Я также использую утилиту HTTPWatch (очень похожую на fiddler, но показывает запросы, даже если они получены из кэша браузера), которая показывает мне информацию HTTP, и именно так я знаю, что она поступает из кэша.
Эта проблема возникает только на одном из моих компьютеров.
Коллеги Машина (Работает нормально)
- Запрос отправлен на index.aspx
- Отправлено заголовков:
- (строка запроса): GET /index.aspx HTTP / 1.1
- Примите: текст / html, приложение / xhtml + xml, /
- Принятие-кодировка: gzip, deflate
- Accept-Language: en-GB
- Соединение: Keep-Alive
- Cookie: (не актуально)
- Хост: dev
- Пользователь-агент: Mozilla / 5.0 (совместимо; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
- полученные заголовки:
- (строка состояния): HTTP / 1.1 200 OK
- Cache-Control: private
- Длина содержимого: 10369
- Тип содержимого: text / html; кодировка = UTF-8 * 1 068 *
- Дата: Ср, 08 фев 2012 09:09:38 GMT
- Сервер: Microsoft-IIS / 7.5
- X-AspNet-Version: 2.0.50727
- X-Powered-By: ASP.NET
- Второй запрос отправлен на index.aspx
- Отправлено заголовков:
- (строка запроса): GET /index.aspx HTTP / 1.1
- Примите: текст / html, приложение / xhtml + xml, /
- Принятие-кодировка: gzip, deflate
- Accept-Language: ru-RU
- Соединение: Keep-Alive
- Cookie: (не актуально)
- Хост: dev
- Рефере: http://dev/index.aspx
- User-Agent: Mozilla / 5.0 (совместимо; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)
- полученные заголовки:
- (строка состояния): HTTP / 1.1 200 OK
- Контроль кэша: личный
- Длина содержимого: 33588
- Тип содержимого: text / html; кодировка = UTF-8 * +1151 *
- Дата: Ср, 08 февраля 2012 09:09:38 GMT
- Сервер: Microsoft-IIS / 7.5
- X-AspNet-Version: 2.0.50727
- X-Powered-By: ASP.NET
Моя машина (не работает)
- Запрос отправлен на index.aspx
- Отправлено заголовков:
- (строка запроса): GET /index.aspx HTTP / 1.1
- Примите: application / x-ms-application, image / jpeg, application / xaml + xml, image / gif, image / pjpeg, application / x-ms-xbap, application / vnd.ms -excel, application / vnd.ms-powerpoint, application / msword, /
- Accept-Encoding: gzip, deflate
- Accept-Language: ru-RU
- Соединение: Keep-Alive
- Cookie: (не относится)
- Хост: dev
- User-Agent: Mozilla / 4.0 (совместимо; MSIE 8.0; Windows NT 6.1; WOW64; Trident / 4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.3072929; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
- полученные заголовки:
- (строка состояния): HTTP / 1.1 200 OK
- Cache-Control: private
- Длина содержимого: 10374
- Тип содержимого: text / html; кодировка = UTF-8
- Дата: Ср, 08 фев 2012 09: 45: 304GMT
- X-Powered-By: ASP.NET
- Второй запрос отправлен на index.aspx
- Отправлено заголовков:
- (Нет): Заголовки для кэшированных элементов не отправляются
- Заголовки получены:
- (Нет): Не получены заголовки для кэшированных элементов
Как вы, возможно, заметили, браузеры разные (т.е. от 8 до ie9), но я до сих пор не понимаю, почему это может быть проблемой. Я думаю, что это должна быть некоторая конфигурация браузера, так как заголовки, полученные при первом запросе, практически одинаковы.
Если кто-нибудь может объяснить, почему второй запрос извлекается из кэша, я был бы очень признателен.