URL (Uniform Resource Locator)
Уникальный адрес ресурса
http://www.host.ru:80/path/index.html?id=1&%C2=%5F
http://
www.host.ru
:80
/path/index.html
?id=1&%C2=%5F
URL (Uniform Resource Locator)
Кодирование URL
Данные могут передаваться как часть URL
Замена пробелов и специальных символов шестнадцатеричными эквивалентами
̺ %20 или +
/ %2F
Этапы работы HTTP
Установка соединения
Посылка запроса клиента (браузера)
Получение ответа сервера (web-сервера)
Разрыв соединения
Строка запроса/ответа
Запрос клиента
GET HTTP/1.1 /index.html
GET HTTP/1.1 /cgi-bin/guestbook.php?firstname=Ivan&lastname=Ivanov
POST HTTP/1.1 /cgi-bin/guestbook.php
Ответ сервера
HTTP/1.1 200 OK
Общие заголовки
Connection: closeзадает параметры, желательные для данного соединения
Date: Monday, 06 May 2007 04:57:02 GMT
Mime-Version: 1.0
Заголовки запросов
Accept: тип/подтипзадает media-типы данных, которые предпочитает клиентAccept: */* (в большинстве случаев)Accept: text/html
Accept-Charset: набор символовзадает наборы символов, которые предпочитает клиент
Заголовки запросов
Accept-Language: языкиAccept-Language: ru, en
Cookie: имя=значениепередает cookie, хранящиеся для данного URLCookie: visit=1
Host: имя виртуального хоста
Заголовки запросов
From: e-maile-mail клиента для связи в случае неисправности
User-Agent:информация о программе-клиенте
Authorization: имя и парольдля авторизации клиента на сервере
Заголовки ответов
Public: методыинформация о методах, которые поддерживает сервер
Server: имя и версия сервера
Set-Cookie: имя=значение[;опции]
Заголовки содержимого
Allow: методысписок методов, разрешенных для данного URL
Content-Base: абс. URLдля преобразования относительных URL
Content-Language: языкиопределяет языки, на использование которых рассчитана возвращаемая информация
Заголовки содержимого
Content-Length: числоразмер тела содержимого в байтах
Content-Type: тип/подтипопределяет media-тип возвращаемых данных
Location: URLзадает новое местонахождение документа
Коды ответов сервера (Status-Code Reason-Phrase)
Status-Code предназначен для программ, Reason-Phrase – для человека
1xx – информационные
2xx – успех
3xx – перенаправление
4xx – ошибка клиента
5xx – ошибка сервера
Коды в диапазонах 1xx, 2xx и 3xx большинство браузеров обрабатывают без извещения пользователя
Формулировка кодов произвольная и может изменяться
1xx – информационные
Запрос клиента принят, продолжение процесса
100 Continueначальная часть запроса принята и клиент может продолжать передачу запроса
101 Switching Protocolsпереключение протоколов
2xx – успех
Запрос клиента успешно принят, распознан и выполнен
200 OKзапрос клиента обработан успешно, ответ сервера содержит необходимые данные
201 Createdиспользуется в случае создания нового URL, вместе с этим кодом возвращается заголовок Location
2xx – успех
204 No Contentответ содержит код состояния и заголовок, тело отсутствует, браузер не должен обновлять документ
205 Reset Content браузер должен очистить форму, предназначенную для ввода данных
3xx – перенаправление
Дальнейшее действие должно быть перенаправлено для завершения запроса
301 Moved Permanently
302 Moved Temporarily
304 Not Modified
305 Use Proxy
4xx – ошибка клиента
Неверный синтаксис запроса или недостаточно клиентских данных для выполнения запроса
400 Bad Requestв запросе клиента синтаксическая ошибка
401 Not Authorizedклиент не имеет необходимых полномочий
4xx – ошибка клиента
403 Forbiddenзапрос клиента отклонен, так как сервер не имеет возможности ответить клиенту
404 Not Found
405 Method Not Allowedметод, используемый клиентом, для данного URL не поддерживается
406 Not Acceptableресурс, который запросил клиент, существует, но не в том формате, который нужен клиенту
4xx – ошибка клиента
413 Request Entity Too Largeсервер не обработал запрос, так как его тело слишком велико
414 Request Entity Too Longсервер не обработал запрос, так как URL слишком длинный
415 Unsupported Media Typeсервер не обработал запрос, так как его тело имеет неподдерживаемый формат
5xx – ошибка сервера
Невозможно выполнить запрос
500 Internal Server Errorпри обработке запроса один из компонентов, например, cgi-скрипт, выдал аварийный отказ или сервер столкнулся с ошибкой конфигурации
501 Not Implementedклиент запросил выполнение действия, которое сервер выполнить не может
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.