Основы протокола HTTP www. itransition. com. HTTP взаимодействие

Скачать презентацию Основы протокола HTTP www. itransition. com. HTTP взаимодействие Скачать презентацию Основы протокола HTTP www. itransition. com. HTTP взаимодействие

http_basics.ppt

  • Количество слайдов: 17

>Основы протокола HTTP www.itransition.com Основы протокола HTTP www.itransition.com

>HTTP взаимодействие с помощью telnet Запустить консоль (Windows+R, cmd) В консоли набрать telnet www.itransition.com HTTP взаимодействие с помощью telnet Запустить консоль (Windows+R, cmd) В консоли набрать telnet www.itransition.com 80 Чтобы видеть вводимые команды сделать следующее: Нажать Ctrl+] Набрать set localecho, ввод Еще раз ввод Набрать GET / HTTP/1.1 Host: www.itransition.com Дважды нажать ввод

>HTTP (Hypertext Transfer Protocol) в стеке протоколов TCP/IP HTTP (Hypertext Transfer Protocol) в стеке протоколов TCP/IP

>Версии протокола HTTP HTTP/0.9 – 1990-1992 г. HTTP/1.0 – 1996 г. HTTP/1.1 – 1999 Версии протокола HTTP HTTP/0.9 – 1990-1992 г. HTTP/1.0 – 1996 г. HTTP/1.1 – 1999 г. – текущая версия HTTP-NG (HTTP Next Generation) – предложен в 1998 году, но развития не получил

>Программное обеспечение Исходные серверы – хранение ресурсов, обработка запросов Клиенты – потребители услуг (браузеры, Программное обеспечение Исходные серверы – хранение ресурсов, обработка запросов Клиенты – потребители услуг (браузеры, менеджеры закачек, а также роботы, краулеры) Прокси, кэши – транспортные функции, кэширование, распределение нагрузки.

>Структура сообщений протокола Стартовая строка (англ. Starting line) — определяет тип сообщения; Заголовки (англ. Структура сообщений протокола Стартовая строка (англ. Starting line) — определяет тип сообщения; Заголовки (англ. Headers) — характеризуют тело сообщения, содержат параметры передачи и прочие сведения; Тело сообщения (англ. Message Body) — непосредственно данные сообщения. Обязательно должно отделяться от заголовков пустой строкой. Сообщения протокола Запросы Ответы

>Стартовая строка запроса GET URI — для версии протокола 0.9. Метод URI HTTP/Версия — Стартовая строка запроса GET URI — для версии протокола 0.9. Метод URI HTTP/Версия — для остальных версий.

>Методы запроса Метод URI HTTP/Версия GET – запрос содержимого ресурса POST – передача данных Методы запроса Метод URI HTTP/Версия GET – запрос содержимого ресурса POST – передача данных ресурсу HEAD – получение только заголовков ответа OPTIONS – определение возможностей сервера PUT – загрузка содержимого запроса на указанный URI DELETE – удаление ресурса

>Пример Запрос GET GET /wiki/страница HTTP/1.1 Host: ru.wikipedia.org User-Agent: Mozilla/5.0 (X11; U; Linux i686; Пример Запрос GET GET /wiki/страница 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/Версия КодСостояния Пояснение Стартовая строка ответа HTTP/Версия КодСостояния Пояснение

>Статусы ответа 1xx Informational (Информационный) – информируют о процессе передачи. 2xx Success (Успешно) – Статусы ответа 1xx Informational (Информационный) – информируют о процессе передачи. 2xx Success (Успешно) – успешное получение и обработка запроса. 3xx Redirection (Перенаправление) – для выполнения запроса нужно обратиться по другому адресу. 4xx Client Error (Ошибка клиента) – неверный запрос 5xx Server Error (Ошибка сервера) – неудачное выполнение операции на сервере

>Пример Ответ HTTP/1.1 200 OK Date: Wed, 11 Feb 2009 11:20:59 GMT Server: Apache Пример Ответ HTTP/1.1 200 OK Date: Wed, 11 Feb 2009 11:20:59 GMT Server: Apache X-Powered-By: PHP/5.2.4-2ubuntu5wm1 Last-Modified: Wed, 11 Feb 2009 11:20:59 GMT Content-Language: ru Content-Type: text/html; charset=utf-8 Content-Length: 1234 Connection: close (далее следует запрошенная страница в HTML)

>Пример Запрос POST POST /login HTTP/1.1 Host: www.example.com Content-Type: application/x-www-form-urlencoded Content-Length: 49 email=test%40test.com&password=secure&login=login Пример Запрос POST POST /login HTTP/1.1 Host: www.example.com Content-Type: application/x-www-form-urlencoded Content-Length: 49 email=test%40test.com&password=secure&login=login

>HTTP cookie Запрос браузера 1 GET /index.html HTTP/1.1 Host: www.example.org Заголовки ответа сервера HTTP/1.1 HTTP cookie Запрос браузера 1 GET /index.html HTTP/1.1 Host: www.example.org Заголовки ответа сервера HTTP/1.1 200 OK Content-type: text/html Set-Cookie: name=value; expires=date; path=/; domain=.example.org.; secure; httponly Запрос браузера 2 GET /index.html HTTP/1.1 Host: www.example.org Cookie: name=value

>Другие возможности протокола Частичные GET и докачка GET /conf-2009.avi HTTP/1.0 Range: bytes=64397516-80496894 HTTP/1.1 206 Другие возможности протокола Частичные GET и докачка GET /conf-2009.avi HTTP/1.0 Range: bytes=64397516-80496894 HTTP/1.1 206 Partial Content Accept-Ranges: bytes Content-Range: bytes 64397516-80496894/160993792 Content-Length: 16099379 Условные GET If-Modified-Since: Wed, 21 Apr 2010 12:33:42 GMT HTTP/1.1 304 Not Modified

>Другие возможности протокола Множественное содержание POST /send-message.html HTTP/1.1 Host: mail.example.com Content-Type: multipart/form-data; boundary= Другие возможности протокола Множественное содержание POST /send-message.html HTTP/1.1 Host: mail.example.com Content-Type: multipart/form-data; boundary="Asrf456BGe4h" --Asrf456BGe4h Content-Disposition: form-data; name="DestAddress" [email protected] --Asrf456BGe4h Content-Disposition: form-data; name="MessageTitle" …

>Thank you! Thank you!