HTTP BASICS.ppt
- Количество слайдов: 17
Основы протокола HTTP www. itransition. com
HTTP взаимодействие с помощью telnet • Запустить консоль (Windows+R, cmd) • В консоли набрать telnet www. itransition. com 80 • Чтобы видеть вводимые команды сделать следующее: • Нажать Ctrl+] • Набрать set localecho, ввод • Еще раз ввод • Набрать GET / HTTP/1. 1 Host: www. itransition. com • Дважды нажать ввод www. itransition. com Page 2 of 8
HTTP (Hypertext Transfer Protocol) в стеке протоколов TCP/IP Application BGP · DHCP · DNS · FTP · HTTP · IMAP · IRC · LDAP · MGCP · NNTP · POP · RIP · RPC · RTP · SIP · SMTP · SNMP · SSH · Telnet · TLS/SSL · XMPP Transport TCP · UDP · DCCP · SCTP · RSVP · ECN Internet IP (IPv 4, IPv 6) · ICMPv 6 · IGMP · IPsec · Link ARP/In. ARP · NDP · OSPF · Tunnels (L 2 TP) · PPP · Media Access Control (Ethernet, DSL, ISDN, FDDI) www. itransition. com Page 3 of 8
Версии протокола HTTP • HTTP/0. 9 – 1990 -1992 г. • HTTP/1. 0 – 1996 г. • HTTP/1. 1 – 1999 г. – текущая версия • HTTP-NG (HTTP Next Generation) – предложен в 1998 году, но развития не получил www. itransition. com Page 4 of 8
Программное обеспечение • Исходные серверы – хранение ресурсов, обработка запросов • Клиенты – потребители услуг (браузеры, менеджеры закачек, а также роботы, краулеры) • Прокси, кэши – транспортные функции, кэширование, распределение нагрузки. www. itransition. com Page 5 of 8
Сообщения протокола • Запросы • Ответы Структура сообщений протокола • Стартовая строка (англ. Starting line) — определяет тип сообщения; • Заголовки (англ. Headers) — характеризуют тело сообщения, содержат параметры передачи и прочие сведения; • Тело сообщения (англ. Message Body) — непосредственно данные сообщения. Обязательно должно отделяться от заголовков пустой строкой. www. itransition. com Page 6 of 8
Стартовая строка запроса GET URI — для версии протокола 0. 9. Метод URI HTTP/Версия — для остальных версий. www. itransition. com Page 7 of 8
Методы запроса Метод URI HTTP/Версия • GET – запрос содержимого ресурса • POST – передача данных ресурсу • HEAD – получение только заголовков ответа • OPTIONS – определение возможностей сервера • PUT – загрузка содержимого запроса на указанный URI • DELETE – удаление ресурса www. itransition. com Page 8 of 8
Пример • Запрос GET /wiki/страница HTTP/1. 1 Host: ru. wikipedia. org User-Agent: Mozilla/5. 0 (X 11; U; Linux i 686; ru; rv: 1. 9 b 5) Gecko/2008050509 Firefox/3. 0 b 5 Accept: text/html Connection: close www. itransition. com Page 9 of 8
Стартовая строка ответа HTTP/Версия Код. Состояния Пояснение www. itransition. com Page 10 of 8
Статусы ответа • 1 xx Informational (Информационный) – информируют • • о процессе передачи. 2 xx Success (Успешно) – успешное получение и обработка запроса. 3 xx Redirection (Перенаправление) – для выполнения запроса нужно обратиться по другому адресу. 4 xx Client Error (Ошибка клиента) – неверный запрос 5 xx Server Error (Ошибка сервера) – неудачное выполнение операции на сервере www. itransition. com Page 11 of 8
Пример • Ответ HTTP/1. 1 200 OK Date: Wed, 11 Feb 2009 11: 20: 59 GMT Server: Apache X-Powered-By: PHP/5. 2. 4 -2 ubuntu 5 wm 1 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) www. itransition. com Page 12 of 8
Пример • Запрос POST /login HTTP/1. 1 Host: www. example. com Content-Type: application/x-www-form-urlencoded Content-Length: 49 email=test%40 test. com&password=secure&login=login www. itransition. com Page 13 of 8
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 www. itransition. com Page 14 of 8
Другие возможности протокола • Частичные 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 www. itransition. com Page 15 of 8
Другие возможности протокола • Множественное содержание POST /send-message. html HTTP/1. 1 Host: mail. example. com Content-Type: multipart/form-data; boundary="Asrf 456 BGe 4 h" --Asrf 456 BGe 4 h Content-Disposition: form-data; name="Dest. Address" test@example. com --Asrf 456 BGe 4 h Content-Disposition: form-data; name="Message. Title" … www. itransition. com Page 16 of 8
Thank you! www. itransition. com Page 17 of 8