2013-09-28 4 views
1

Я новичок в разработке веб-сайтов, и я изучаю AJAX от w3Schools. Обучаясь запрос GET это говорит о том, что следующий может дать вам кэшированные результат:Что означает кешированный результат?

xmlhttp.open("GET","demo_get.asp",true); 
xmlhttp.send(); 

Чтобы избежать этого, добавьте уникальный идентификатор в URL:

xmlhttp.open("GET","demo_get.asp?t=" + Math.random(),true); 
xmlhttp.send(); 

Что кэшировать результат означает.? Я прошел весь пример, но не мог понять, когда я должен использовать уникальный идентификатор, указанный во втором методе?

+2

Вы должны определенно не учиться чему-либо из w3schools. Чтобы узнать, почему, взгляните на http://w3fools.com/. – rid

+1

причины: http://www.w3fools.com/ – Femaref

ответ

4

Браузер может кэшировать ответы Http по Uniqe URL, поэтому в следующий раз, когда вы посещаете сайт, браузер не будет отправлять HTTP-запрос, но отображает последний ответ для этого URL-адреса из своего хранилища кеша.

При создании URL со случайным фактором (в данном случае есть имя переменной строки запроса t с случайной величиной), это не дает браузеру кэшировать ответ.

первый случай в браузер кэшировать URL-адреса:

demo_get.asp

demo_get.asp Из кэша

браузер кэшировать URL, второй случай в:

demo_get. asp? r = 42350972

demo_get.asp? R = 11850753 Нет кеширования

3

После выполнения запроса HTTP GET браузер может выбрать, чтобы сохранить полученный ответ, и в следующий раз ему нужно сделать тот же запрос, вместо того, чтобы делать запрос, получить ответ, полученный ранее, и представить его вместо этого. Это называется caching.

Поскольку URL-адрес, как правило, является ключом, по которому браузер идентифицирует, какую кешированную страницу извлекать, одним из способов взлома является всегда запрашивать один и тот же ресурс с использованием другого URL-адреса. Таким образом, браузер сохранит ответ на каждый URL-адрес, но вряд ли сможет снова восстановить сохраненную страницу, потому что новый URL-адрес отличается от того, который он использовал в последний раз для хранения ответа.

Другим способом управления кэшированием является использование caching capabilities встроенного в протокол HTTP.

+0

У браузера также есть страницы .asp/.jsp? Это то, что вы пытаетесь сказать? –

+0

@RakeshJuyal, браузеры кэшируют любой ответ, независимо от того, какая серверная технология использовалась для его создания. – rid

Смежные вопросы