Книга: Linux глазами хакера
9.3.1. HTTP-директивы
9.3.1. HTTP-директивы
При подключении к Интернету пользователи первым делом стремятся загрузить Web-страничку. Если используется proxy, то необходимо правильно настроить HTTP-протокол. Для решения этой задачи в squid есть следующие директивы:
? http_port n
— параметр n определяет номер порта, через который будет происходить подключение.
Первое, что нам необходимо настроить, — это порты, на которых сервер будет ожидать подключения клиентов. Такие директивы имеют формат XXXX_port
. Для порта HTTP запись будет выглядеть таким образом:
http_port 8080
После этого при конфигурировании браузера на клиентском компьютере вы должны будете указывать IP-адрес сервера, где установлен squid, и выделенный в данной директиве порт;
? hierarchy_stoplist
— определяет перечень URL-адресов, данные по которым всегда должны получаться с сервера, а не из кэша. Я рекомендую добавить в этот список слова "cgi-bin" и вопросительный знак. Адреса URL, содержащие такой текст, указывают на сценарии, которые могут исполняться на сервере, и их результат желательно не кэшировать.
Рассмотрим пример. Предположим, что вы прочитали Web-страницу www.servername.com/cgi-bin/ping.cgi, на которой можно через Web-интерфейс выполнить директиву ping
. Допустим, что при первом обращении вы запустили команду ping
к адресу 18.1.1.1
. Результат будет сохранен в кэше прокси-сервера. В следующий раз вы обращаетесь к сценарию, чтобы выполнить ping 18.1.1.18
, но браузер вернет первый результат, потому что возьмет его из своего кэша.
Страницы со сценариями могут возвращать разный результат, в зависимости от ситуации и параметров, которые выбрал пользователь. Если кэшировать такие страницы, то вы всегда будете видеть одно и то же. В результате вы получите только неудобства от соединения через proxy.
Вопросительный знак очень часто используется для передачи параметров в сценарии PHP, поэтому такие страницы тоже не рекомендуется кэшировать.
Тег hierarchy_stoplist
запрещает брать страницу из кэша, а следующие две строки задают правило, по которому страницы с URL-адресом, содержащие слова "cgi-bin" или вопросительный знак, вообще не будут кэшироваться:
acl QUERY urlpath_regex cgi-bin ?
no_cache deny QUERY
Я думаю, вы согласитесь со мной, что незачем кэшировать то, что будет получаться с сервера, и зря расходовать дисковое пространство.
- 9.3.2. FTP-директивы
- ДИРЕКТИВЫ ПРЕПРОЦЕССОРА #define, #include, #undef, #if, #ifdef, #ifndef, #else, #endif
- 11.8. Отправка запросов HTTP PUT с применением NSURLConnection
- 5.4.2. HTTP как универсальный протокол прикладного уровня
- 12.6. Пример файла httpd.conf
- 10.3.4. Информационные директивы
- XMLHttpRequest
- Editing httpd.conf
- Настройка kHTTPd
- Ускорение HTTP-обмена
- Использование директивы typedef
- 17. HTTP