Слайд 2
![Web-сервер Apache](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-1.jpg)
Слайд 3
![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](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-2.jpg)
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
Слайд 4
![URL (Uniform Resource Locator) Кодирование URL Данные могут передаваться как](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-3.jpg)
URL (Uniform Resource Locator)
Кодирование URL
Данные могут передаваться как часть URL
Замена пробелов
и специальных символов шестнадцатеричными эквивалентами
̺ %20 или +
/ %2F
Слайд 5
![Этапы работы HTTP Установка соединения Посылка запроса клиента (браузера) Получение ответа сервера (web-сервера) Разрыв соединения](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-4.jpg)
Этапы работы HTTP
Установка соединения
Посылка запроса клиента (браузера)
Получение ответа сервера (web-сервера)
Разрыв соединения
Слайд 6
![Структура запроса клиента/ответа сервера](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-5.jpg)
Структура
запроса клиента/ответа сервера
Слайд 7
![Строка запроса/ответа Запрос клиента GET HTTP/1.1 /index.html GET HTTP/1.1 /cgi-bin/guestbook.php?firstname=Ivan&lastname=Ivanov](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-6.jpg)
Строка запроса/ответа
Запрос клиента
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
Слайд 8
![HTTP-заголовки Общие заголовки Заголовки запросов Заголовки ответов Заголовки содержимого](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-7.jpg)
HTTP-заголовки
Общие заголовки
Заголовки запросов
Заголовки ответов
Заголовки содержимого
Слайд 9
![Общие заголовки Connection: close задает параметры, желательные для данного соединения](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-8.jpg)
Общие заголовки
Connection: close
задает параметры, желательные для данного соединения
Date: Monday, 06 May
2007 04:57:02 GMT
Mime-Version: 1.0
Слайд 10
![Заголовки запросов Accept: тип/подтип задает media-типы данных, которые предпочитает клиент](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-9.jpg)
Заголовки запросов
Accept: тип/подтип
задает media-типы данных, которые предпочитает клиент
Accept: */* (в большинстве
случаев)
Accept: text/html
Accept-Charset: набор символов
задает наборы символов, которые предпочитает клиент
Слайд 11
![Заголовки запросов Accept-Language: языки Accept-Language: ru, en Cookie: имя=значение передает](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-10.jpg)
Заголовки запросов
Accept-Language: языки
Accept-Language: ru, en
Cookie: имя=значение
передает cookie, хранящиеся для данного URL
Cookie:
visit=1
Host: имя виртуального хоста
Слайд 12
![Заголовки запросов From: e-mail e-mail клиента для связи в случае](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-11.jpg)
Заголовки запросов
From: e-mail
e-mail клиента для связи в случае неисправности
User-Agent:
информация о программе-клиенте
Authorization:
имя и пароль
для авторизации клиента на сервере
Слайд 13
![Заголовки ответов Public: методы информация о методах, которые поддерживает сервер](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-12.jpg)
Заголовки ответов
Public: методы
информация о методах, которые поддерживает сервер
Server: имя и версия
сервера
Set-Cookie: имя=значение[;опции]
Слайд 14
![Заголовки содержимого Allow: методы список методов, разрешенных для данного URL](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-13.jpg)
Заголовки содержимого
Allow: методы
список методов, разрешенных для данного URL
Content-Base: абс. URL
для преобразования
относительных URL
Content-Language: языки
определяет языки, на использование которых рассчитана возвращаемая информация
Слайд 15
![Заголовки содержимого Content-Length: число размер тела содержимого в байтах Content-Type:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-14.jpg)
Заголовки содержимого
Content-Length: число
размер тела содержимого в байтах
Content-Type: тип/подтип
определяет media-тип возвращаемых данных
Location: URL
задает новое местонахождение документа
Слайд 16
![Коды ответов сервера (Status-Code Reason-Phrase) Status-Code предназначен для программ, Reason-Phrase](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-15.jpg)
Коды ответов сервера (Status-Code Reason-Phrase)
Status-Code предназначен для программ, Reason-Phrase – для
человека
1xx – информационные
2xx – успех
3xx – перенаправление
4xx – ошибка клиента
5xx – ошибка сервера
Коды в диапазонах 1xx, 2xx и 3xx большинство браузеров обрабатывают без извещения пользователя
Формулировка кодов произвольная и может изменяться
Слайд 17
![1xx – информационные Запрос клиента принят, продолжение процесса 100 Continue](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-16.jpg)
1xx – информационные
Запрос клиента принят, продолжение процесса
100 Continue
начальная часть запроса принята
и клиент может продолжать передачу запроса
101 Switching Protocols
переключение протоколов
Слайд 18
![2xx – успех Запрос клиента успешно принят, распознан и выполнен](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-17.jpg)
2xx – успех
Запрос клиента успешно принят, распознан и выполнен
200 OK
запрос клиента
обработан успешно, ответ сервера содержит необходимые данные
201 Created
используется в случае создания нового URL, вместе с этим кодом возвращается заголовок Location
Слайд 19
![2xx – успех 204 No Content ответ содержит код состояния](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-18.jpg)
2xx – успех
204 No Content
ответ содержит код состояния и заголовок, тело
отсутствует, браузер не должен обновлять документ
205 Reset Content
браузер должен очистить форму, предназначенную для ввода данных
Слайд 20
![3xx – перенаправление Дальнейшее действие должно быть перенаправлено для завершения](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-19.jpg)
3xx – перенаправление
Дальнейшее действие должно быть перенаправлено для завершения запроса
301 Moved
Permanently
302 Moved Temporarily
304 Not Modified
305 Use Proxy
Слайд 21
![4xx – ошибка клиента Неверный синтаксис запроса или недостаточно клиентских](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-20.jpg)
4xx – ошибка клиента
Неверный синтаксис запроса или недостаточно клиентских данных для
выполнения запроса
400 Bad Request
в запросе клиента синтаксическая ошибка
401 Not Authorized
клиент не имеет необходимых полномочий
Слайд 22
![4xx – ошибка клиента 403 Forbidden запрос клиента отклонен, так](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-21.jpg)
4xx – ошибка клиента
403 Forbidden
запрос клиента отклонен, так как сервер не
имеет возможности ответить клиенту
404 Not Found
405 Method Not Allowed
метод, используемый клиентом, для данного URL не поддерживается
406 Not Acceptable
ресурс, который запросил клиент, существует, но не в том формате, который нужен клиенту
Слайд 23
![4xx – ошибка клиента 413 Request Entity Too Large сервер](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-22.jpg)
4xx – ошибка клиента
413 Request Entity Too Large
сервер не обработал запрос,
так как его тело слишком велико
414 Request Entity Too Long
сервер не обработал запрос, так как URL слишком длинный
415 Unsupported Media Type
сервер не обработал запрос, так как его тело имеет неподдерживаемый формат
Слайд 24
![5xx – ошибка сервера Невозможно выполнить запрос 500 Internal Server](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/210673/slide-23.jpg)
5xx – ошибка сервера
Невозможно выполнить запрос
500 Internal Server Error
при обработке запроса
один из компонентов, например, cgi-скрипт, выдал аварийный отказ или сервер столкнулся с ошибкой конфигурации
501 Not Implemented
клиент запросил выполнение действия, которое сервер выполнить не может