1. Определение «семантически прозрачным» от "1.3 сек" Терминология из RFC2616Как понять «семантически прозрачный» RFC2616 в разделе «Cache-Control machanism»?
семантически прозрачный
A cache behaves in a "semantically transparent" manner, with
respect to a particular response, when its use affects neither the
requesting client nor the origin server, except to improve
performance. When a cache is semantically transparent, the client
receives exactly the same response (except for hop-by-hop headers)
that it would have received had its request been handled directly
by the origin server.
2.I не может понять предложение RFC2616 "Механизмы 13.1.3 Cache-Control"
Заголовок Cache-Control позволяет клиенту или серверу передавать различные директивы в запросах или ответах. Эти директивы обычно переопределяют алгоритмы кэширования по умолчанию. Как правило , если есть какой-либо видимый конфликт между заголовками значений, применяется самая ограничительная интерпретация (то есть , которая, скорее всего, сохранит семантическую прозрачность).
Я сбиваю с толку эти значения конфликта в заголовке «Cache-Control».
тест 3.I некоторые примеры через веб-сервер Apache
3,1 Web Toponology
Telnet (клиент) < -> HTTP прокси (апач работы в режиме прокси, S1) < -> Веб-сервер (Apache , S2)
3.1.1 S1 configurarion (работа в качестве кэширования прокси-сервера):
<Location />
ProxyPass http://10.8.1.24:80/
</Location>
<IfModule mod_cache.c>
<IfModule mod_mem_cache.c>
CacheEnable mem/
MCacheSize 4096
MCacheMaxObjectCount 100
MCacheMinObjectSize 1
MCacheMaxObjectSize 2048
</IfModule>
CacheDefaultExpire 86400
</IfModule>
3.1.2 конфигурация S2 (работа в качестве реального веб-сервера):
<filesMatch "\.(html|png)">
Header set Cache-Control "max-age=5, max-age=15"
</filesMatch>
3,2 Тестовых случаи
3.2.1 Два "максимальный возраст" значение
GET /index.html HTTP/1.1
Host: haha
User-Agent: telnet
HTTP/1.1 200 OK
Date: Wed, 13 Mar 2013 03:40:25 GMT
Server: Apache/2.2.23 (Win32)
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "63e62-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Cache-Control: max-age=5, max-age=35, must-revalidate
Age: 3
Content-Type: text/html
<html><body><h1>It works!</h1></body></html>
Значение "Макс-возраст = 5" применяется. Здесь я думаю, что применяется «max-age = 35», так как это значение может хранить контент дольше в кеше и сервере для последующих запросов на повышение производительности из концепции «семантическая прозрачность».
3.2.2 макс возраста = 35 и должны-перепроверить
GET /index.html HTTP/1.1
Host: haha
User-Agent: telnet
HTTP/1.1 200 OK
Date: Wed, 13 Mar 2013 03:41:24 GMT
Server: Apache/2.2.23 (Win32)
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "63e62-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Cache-Control: max-age=35, must-revalidate
Age: 10
Content-Type: text/html
<html><body><h1>It works!</h1></body></html>
Значение максимального возраста = 35 применяется. Здесь я думаю, что значение «must-revalidate» будет применено.
3.2.3 макс возраста = 35 и не-магазин
GET /index.html HTTP/1.1
Host: haha
User-Agent: telnet
HTTP/1.1 200 OK
Date: Wed, 13 Mar 2013 03:45:04 GMT
Server: Apache/2.2.24 (Unix)
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "63e62-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Cache-Control: max-age=35, no-store
Content-Type: text/html
<html><body><h1>It works!</h1></body></html>
Значение "нет-магазин" применяется.
3.2.4 макс возраста = 36 и нет кэша
GET /index.html HTTP/1.1
Host: haha
User-Agent: telnet
HTTP/1.1 200 OK
Date: Wed, 13 Mar 2013 06:22:14 GMT
Server: Apache/2.2.24 (Unix)
Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
ETag: "63e62-2c-3e9564c23b600"
Accept-Ranges: bytes
Content-Length: 44
Cache-Control: max-age=35, no-cache
Content-Type: text/html
<html><body><h1>It works!</h1></body></html>
Значение "нет кэша" применяется.
Ссылка: RFC2616 http://tools.ietf.org/html/rfc2616
Можете ли вы уточнить, каков ваш точный вопрос? –
Как понять «семантическую прозрачность» в «Маханизм управления кешем», например, если в заголовке «Cache-Control» конфликтуют несколько значений, какие значения должны рассматриваться как «семантическая прозрачность»? – inix
Я рекомендую прочитать http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p6-cache-22.html и предоставить обратную связь, если он еще недостаточно ясен. –