Как заставить браузер перестать кэшировать ответы сервера? - PullRequest
1 голос
/ 07 февраля 2011

Я разработал свой собственный веб-сервер для робота, которого я построил ( видео ), не зная тонкостей HTTP.Одна проблема, с которой я сталкиваюсь, это то, что я посылаю запрос из браузера, скажем, http://192.168.2.10/r?cmd=doStuff, и робот отвечает.Затем я снова отправляю тот же запрос из браузера (нажав на сохраненную закладку), и запрос никогда не отправляется, он просто показывает ответ на предыдущий запрос.

Вот что исходит из браузера(В частности, IE8):

GET /r?cmd=s HTTP/1.1
Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg,     application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0; InfoPath.2; .NET4.0C; .NET4.0E; Zune 4.7)
Accept-Encoding: gzip, deflate
Host: 192.168.2.10
Connection: Keep-Alive

Робот отвечает следующим образом:

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Server: The Little Robot That Could 1.0
Date: Thu, 01 Jan 2009 00:05:00 GMT
Content-Length: 4
X-Powered-By: Little Robot HTTP Server

Нужно ли мне добавлять какой-нибудь другой HTTP-заголовок в микс, чтобы браузер не кэшировалответ

Ответы [ 3 ]

3 голосов
/ 07 февраля 2011

Да, вам нужен заголовок контроля кэша.

Cache-Control: no-cache;max-age=0
1 голос
/ 07 февраля 2011

Я бы попробовал добавить прагму: без кэша Должен работать в любом современном браузере.

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

0 голосов
/ 07 февраля 2011

Хорошо.

Проблема real заключается в использовании GET для "что-то сделать".

...