Протокол HTTP Веб-программирование. Назначение HTTP (HyperText Transfer Protocol) - «протокол передачи гипертекста») прикладной протокол стека TCP/IP;

Презентация:



Advertisements
Похожие презентации
Hypertext Transfer Protocol (HTTP) Протокол передачи гипертекста.
Advertisements

ПРОТОКОЛЫ HTTP. HTTP - HyperText Transfer Protocol Протокол уровня приложений Текущая версия HTTP/1.1.
Материалы взяты из википедии. HTTP HTTP (англ. HyperText Transfer Protocol «протокол передачи гипертекста»)англ. гипертекста.
Лекция 5 WWW (World Wide Web) – всемирная паутина 2 3 основные идеи: 1.язык разметки / гипертекст (xHTML) 2.универсальная идентификация ресурсов (URL)
Протоколы Internet. Службы Internet. HTTP-Сервер..
HTTP Hypertext Transfer Protocol среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря.
Сервис WWW Веб-программирование. World Wide Web WWW - распределенная информационная система, предоставляющая доступ к гипертекстовым документам по протоколу.
WEB- ТЕХНОЛОГИИ Лекция 1. WEB- ПРИЛОЖЕНИЯ 1 Особый тип программ, построенных по архитектуре « клиент - сервер » Основа получение запросов от пользователя.
Сервисы Интернет Под сервисами или службами Internet обычно понимаются те виды услуг, которые оказываются серверами, входящими в сеть. Рассмотрим наиболее.
Web-программирование По материалам курса University of Washington
1 Лекция Протокол HTTP – основной транспорт Web. 2 Приложения, использующие HTTP u Клиентские (браузеры): »MS Internet Explorer »Netscape Communicator.
Архитектура метаданных WWW. Язык RDF Архитектура метаданных WWW RDF.
Кафедра проектирования компьютерных систем Санкт-Петербургский государственный университет информационных технологий, механики и оптики В. А. Козак Вычислительные.
Лектор - проф. Росляков А.В.1 РАЗДЕЛ 2 СОВРЕМЕННЫЕ СЕТИ СВЯЗИ ЛЕКЦИЯ 16 ПРОТОКОЛ SIP. Запросы и ответы. Алгоритмы соединений Курс «Сети связи»
Common Gateway Interface (CGI). Обычный доступ Локальный диск Интернет HTML.
Web-узлы. Разработка и администрирование.. Часть 1. Web-технология.
Web-службы SOAP, WSDL, UDDI, GXA среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря.
Владивостокский государственный университет экономики и сервиса Институт информатики инноваций и бизнес систем Предмет: «Технологии Интернет» Руководитель:
Лекция Тема: «Средства создания серверного программного обеспечения» Преподаватель: Халелова Е.Н.
Лекция 2 Программирование на стороне сервера: Протокол HTTP. CGI. Передача параметров серверу. Запоминание состояния. Меры безопасности. CGI и базы данных.
Транксрипт:

Протокол HTTP Веб-программирование

Назначение HTTP (HyperText Transfer Protocol) - «протокол передачи гипертекста») прикладной протокол стека TCP/IP; символьный, клиент-серверный основной протокол WWW; «транспорт» для других прикладных протоколов (SOAP, XML-RPC, WebDAV …); HTTP/1.0 - RFC 1945, HTTP/1.1 - RFC 2616

Участники обмена Веб-серверы поставщики услуг хранения и обработки информации Apache, IIS, nginx... Клиенты конечные потребители услуг сервера Браузеры: Mozilla, IE, Opera, Safari, Chrome … Роботы: пауки, кроулеры, дятлы & so on... Прокси-серверы транспортные посредники (кэширование данных) Squid, Naviscope, Kerio, UserGate...

Процедура обмена in nuce: 1. Клиент запрашивает ресурс (по URI) 2.Прокси-сервер проверяет запрос на наличие ресурса в кэше (hit || miss) 3.Веб-сервер возвращает запрошенный ресурс

Структура протокола Стартовая строка Методы Заголовки Коды состояния Тело сообщения

Стартовая строка Запрос клиента Метод Ресурс Протокол/Версия GET /index.html HTTP/1.1 Ответ сервера Протокол/Версия Код Состояния Пояснение HTTP/ OK

Методы протокола GET - запрос содержимого GET /path/resource?param1=value1 HTTP/1.1 Данные передаются в адресной строке Условные GET содержат заголовки If-Modified-Since, If-Match и подобные (кэширование) Частичные GET содержат в запросе Range (докачка, многопоточное скачивание)

Еще методы... POST - применяется для передачи пользовательских данных (из веб-форм) и загрузки файлов на сервер. Данные передаются в теле запроса Повторные запросы могут изменять возвращаемые результаты Ответы сервера не кэшируются

Опять методы... OPTIONS - определение возможностей веб- сервера и/или параметров соединения HEAD - применяется для извлечения метаданных и валидации ресурса (link check) TRACE - Возвращает полученный запрос так, что клиент может увидеть, что́ прокси- сервера добавляют или изменяют в запросе

Снова методы... PUT - Применяется для загрузки содержимого запроса по указанному адресу. PATCH - Аналогично PUT, но применяется только к фрагменту ресурса. DELETE - Удаляет указанный ресурс. LINK - Устанавливает связь указанного ресурса с другими. CONNECT - используется для туннелирования трафика

Заголовки General Headers должны включаться в любое сообщение клиента и сервера Request Headers только в запросах клиента Response Headers только в ответах сервера Entity Headers сопровождают каждую сущность сообщения, применяются при передаче множественного содержимого

Пример обмена Запрос: GET /index.html HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/ Firefox/3.0b5 Accept: text/html Connection: close Ответ: HTTP/ OK Date: Wed, 11 Feb :20:59 GMT Server: Apache X-Powered-By: PHP/ ubuntu5wm1 Last-Modified: Wed, 11 Feb :20:59 GMT Content-Language: ru Content-Type: text/html; charset=utf-8 Content-Length: 1234 Connection: close тут пустая строка (обязательно!)...

Коды состояния 1xx Informational Состояние процесса передачи 2xx Success Успешное выполнение 3xx Redirection Перенаправление 4xx Client Error Ошибки клиента 5xx Server Error Ошибки сервера

Тело сообщения Непосредственно запрошенные данные гипертекст, двоичные данные Тип определяется значением заголовка Content- Type Content-Type: text/html; MIME types Multipurpose Internet Mail Extensions text/html, text/plain, multypart/mixed, text/xml, application/xml... (подробно: types/media-types.xhtml)

Pro et Contra Достоинства - простота, расширяемость, распространённость Недостатки - большой размер сообщений, отсутствие «навигации» (клиент не может явным образом запросить список доступных файлов, как в протоколе FTP), нет поддержки распределённых вычислений В 1998 году W3C предложил альтернативный протокол HTTP-NG: до сих пор на стадии разработки.

more: RFC 2616, RTFM