1. Принимает входящее TCP-соединение от клиента (браузера).
2. Получает имя запрашиваемого файла.
3. Получает файл с диска.
4. Возвращает файл клиенту.
5. Разрывает TCP-соединение.
Проблема данного подхода в необходимости обращения при каждом запросе к диску, поэтому число возможных обращений к серверу ограничено скоростью чтения с диска. Очевидный способ решения – кэширование в памяти N последних запрошенных файлов. Прежде чем обратиться к диску, сервер проверяет кэш и выдает файл клиенту без обращения к диску.
Следующий шаг – создание многопоточных серверов. Одна из реализаций подразумевает, что сервер состоит из входного модуля, принимающего все входящие запросы и несколько обрабатывающих модулей с общим кэшем. Преимущество такой схемы заключается в том, что пока один или несколько обрабатываемых модулей заблокированы в ожидании окончания дисковой операции, другие модули могут активно обрабатывать запросы. Повышение производительности будет особенно заметно, если каждый модуль будет обращаться к своему диску.
Каждой странице во всемирной паутине ставится в соответствие URL (англ. Uniform Resource Locator – унифицированный указатель информационных ресурсов). Он состоит из трех частей: протокола, DNS-имени машины, на которой размещена страница и локального имени файла.
Некоторые распространенные URL-указатели
Имя
Применение
Пример
http
Гипертекст
http://www.cs.vu.nl/~ast
ftp
FTP
ftp://ftp.cs.vu.nl/pub/minix/README
file
Локальный файл
file:////usr/suzanne/prog.c
news
Телеконференция
Статья новостей
news:comp.os.minix
news:AA0134223112@cs.utah.edu
gopher
Gopher
gopher://gopher.tc.umn.edu/11/Libraries
mailto
Отправка электронной почты
mailto:JohnUser@asm.org
telnet
Удаленный терминал
telnet://www.w3.org:80
Первоначально всемирная паутина использовалась в основном для получения документов, предназначенных для широкой публики, но со временем появилась необходимость в регистрации пользователей и создании индивидуальных настроек. Для решения проблемы фирма Netscape предложила метод cookie-файлов.
Когда пользователь запрашивает страницу, сервер может снабдить ответ дополнительной информацией, которая может включать cookiе, то есть маленький (до 4 Кбайт) файл-маркер. Браузеры сохраняют маркеры в специальном каталоге на диске, если пользователь не отключил эту функцию.
В маркерах cookiе может содержаться до пяти полей:
Домен
Путь
Содержимое
Годен до
Защищенный
tom-casino.com
/
CustomerID=497793521
15-10-02 17:00
Да
joes-store.com
/
Cart=1-00501;1-07031;2-13721
11-10-02 14:22
Нет
aportal.com
/
Prefs=Stk;SUNW+ORCL;Spt:Jets
31-12-10 23:59
Нет
sneaky.com
/
UserID=362723910
31-12-12 23:59
Нет
Поле Домен – имя домена, с которого пришел маркер.
Поле Путь – путь на сервере, указывающие на ту часть дерева каталогов, которую может использовать маркер. Часто указывают знак «/», обозначающий, что дерево может использоваться целиком.
Поле Содержимое имеет вид имя=значение. Имя и значения могут быть произвольными, на усмотрение сервера.
Поле Годен до указывает срок годности маркера. Если это поле отсутствует, то браузер отбрасывает cookie сразу после выхода из программы.
Поле Защищенный используется при работе с защищенными серверами (электронная коммерция, банковское дело и др. приложения, в которых важна защита информации).
Cookie могут использоваться и для нужд самого сервера. Например, с их помощью можно отслеживать число посетителей сайта, узнать, сколько страниц просмотрел каждый из них.
Возможно использование cookie-файлов и не по прямому назначению: распространение с их помощью компьютерных вирусов, хакерские атаки, сбор информации о пользователе – какие сайты наиболее часто посещает, с какой периодичностью и т.д.
Для предотвращения неприятных последствий некоторые пользователи настраивают браузеры так, чтобы они отвергали любые cookie, что может вызывать проблемы при работе с сайтами, где cookie-файлы действительно необходимы. Более гибкое решение – настройка фильтров, которые в зависимости от выбора пользователя или настроек системы безопасности компьютера будут сохранять cookie-файлы с «надежных» сайтов и уничтожать со всех остальных.