Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура Web.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

Коды состояния протокола http

Определение 13. Код состояния протокола HTTP – числовое значение состояния протокола, определяемое результатом обработки последнего запроса. В настоящее время выделено пять классов кодов состояния. 1xx Informational (Информационный) 2xx Success (русск. Успешно) Сообщения данного класса информируют о случаях успешного принятия и обработки запроса клиента. В зависимости от статуса сервер может ещё передать заголовки и тело сообщения. 3xx Redirection (русск. Перенаправление) Коды статуса класса 3xx сообщают клиенту что для успешного выполнения операции нужно произвести следующий запрос к другому URI. В большинстве случаев новый адрес указывается в поле Location заголовка. Клиент в этом случае должен, как правило, произвести автоматический переход. 4xx Client Error (русск. Ошибка клиента) Класс кодов 4xx предназначен для указания ошибок со стороны клиента. При использовании всех методов кроме HEAD сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя. 5xx Server Error (русск. Ошибка сервера) Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера. Для всех ситуаций, кроме использования метода HEAD, сервер должен включать в тело сообщения объяснение, которое клиент отобразит пользователю.

Пример диалога по протоколу http

Запрос:

GET /wiki/HTTP HTTP/1.1 Host: ru.wikipedia.org User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5 Accept: text/html Connection: close

Ответ:

HTTP/1.0 200 OK Server: nginx/0.6.31 Content-Language: ru Content-Type: text/html; charset=utf-8 Content-Length: 1234 Connection: close <содержимое запрошенной страницы>

Клиентские скрипты

Как следует из названия, клиентские языки обрабатываются на стороне клиента пользователя, а если проще – программы на клиентском языке обрабатывает браузер. Отсюда следует и недостаток – это то, что обработка скрипта зависит от браузера пользователя, и пользователь имеет полномочия настроить свой браузер так, чтобы он вообще игнорировал написанные вами скрипты. При этом, если браузер старый, он может не поддерживать тот или иной язык или версию языка. Также код клиентского скрипта может посмотреть каждый, кто откроет страницу со скриптом. Преимущество же клиентского языка заключается в том, что обработка скриптов на таком языке может выполняться без отправки документа на сервер. Пример: нужно проверить правильно ли пользователь ввел e-mail; чтобы это сделать пользователю, надо было бы отправить форму с заполненными данными, потом дождаться, пока она обработается, и лишь после этого получить сообщение об ошибке (если она, разумеется, присутствует). Это недопустимо с точки зрения удобства для пользователя и траты ресурсов. С клиентским же языком программа сразу проверит правильное заполнение формы перед отправкой, и, если необходимо, выведет ошибку. Отсюда же вытекает и то ограничение, что с помощью клиентского языка программирования ничто не может быть записано на сервер, то есть, например, с его помощью нельзя сделать гостевую книгу. Самым распространенным из языков клиентских скриптов является JavaScript.