HTTP протокол передачи гипертекста

  • ppt
  • 11.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 122. HTTP протокол передачи гипертекста.ppt

HTTP протокол передачи гипертекста

Hypertext Transfer Protocol

Web-сервер
Apache

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

HTTP-заголовки

Общие заголовки
Заголовки запросов
Заголовки ответов
Заголовки содержимого

Общие заголовки

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, хранящиеся для данного URL Cookie: visit=1
Host: имя виртуального хоста

Заголовки запросов

From: e-mail e-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 клиент запросил выполнение действия, которое сервер выполнить не может

5xx – ошибка сервера

504 Gateway Time-out сервер превысил лимит времени
505 HTTP Version Not Supported сервер не поддерживает версию протокола HTTP, использованную в запросе