HTTP – протокол и CGI. Запросы и ответы Запрос = Строка-Статус *(Общий-Заголовок | Заголовок- Запроса | Заголовок-Содержания ) CRLF [ Содержание-Запроса.

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



Advertisements
Похожие презентации
ПРОТОКОЛЫ HTTP. HTTP - HyperText Transfer Protocol Протокол уровня приложений Текущая версия HTTP/1.1.
Advertisements

Лекция Тема: «Средства создания серверного программного обеспечения» Преподаватель: Халелова Е.Н.
1 Лекция Протокол HTTP – основной транспорт Web. 2 Приложения, использующие HTTP u Клиентские (браузеры): »MS Internet Explorer »Netscape Communicator.
Hypertext Transfer Protocol (HTTP) Протокол передачи гипертекста.
Материалы взяты из википедии. HTTP HTTP (англ. HyperText Transfer Protocol «протокол передачи гипертекста»)англ. гипертекста.
HTTP Hypertext Transfer Protocol среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря 2013 г.среда, 11 декабря.
Web-программирование По материалам курса University of Washington
Лекция 2 Программирование на стороне сервера: Протокол HTTP. CGI. Передача параметров серверу. Запоминание состояния. Меры безопасности. CGI и базы данных.
Протоколы Internet. Службы Internet. HTTP-Сервер..
1 Учебный курс Основы Web-технологий Лекция 6 CGI и Perl. SSI и Cookies кандидат технических наук Павел Брониславович Храмцов
Протокол HTTP Веб-программирование. Назначение HTTP (HyperText Transfer Protocol) - «протокол передачи гипертекста») прикладной протокол стека TCP/IP;
CGI Common Gateway Interface.
Лекция 5 WWW (World Wide Web) – всемирная паутина 2 3 основные идеи: 1.язык разметки / гипертекст (xHTML) 2.универсальная идентификация ресурсов (URL)
1 Учебный курс Введение в JavaScript и CGI Лекция 5 Основы CGI кандидат технических наук Павел Брониславович Храмцов
Java на стороне сервера. Сервлеты и JSP Server-side Java: Servlets & JSP.
Лектор - проф. Росляков А.В.1 РАЗДЕЛ 2 СОВРЕМЕННЫЕ СЕТИ СВЯЗИ ЛЕКЦИЯ 15 ПРОТОКОЛ SIP. БАЗОВЫЕ ПРИНЦИПЫ Курс «Сети связи»
WEB- ТЕХНОЛОГИИ Лекция 1. WEB- ПРИЛОЖЕНИЯ 1 Особый тип программ, построенных по архитектуре « клиент - сервер » Основа получение запросов от пользователя.
Уровень представления Протокол HTTP, веб-приложение, сервлеты,сеансы.
ДонНУ, кафедра КТ, проф. В. К. Толстых Технологии разработки Internet- приложений Введение в Web-технологии Из цикла лекций «Технологии разработки Internet-приложений»
Протокол HTTP.
Транксрипт:

HTTP – протокол и CGI

Запросы и ответы Запрос = Строка-Статус *(Общий-Заголовок | Заголовок- Запроса | Заголовок-Содержания ) CRLF [ Содержание-Запроса ] Ответ = Строка-Статус *(Общий- Заголовок | Заголовок-Ответа | Заголовок-Содержания) CRLF [ Содержание-Ответа ]

Общий Заголовок Общий-Заголовок = Cache-Control: Connection: Date: MIME-Version: Pragma: Transfer-Encoding: Upgrade: Via:

Заголовок Connection Значения параметра Connection: Close Keep-Alive Постоянные соединения ( Persistent Connections) Позволяет запрашивать и получать несколько файлов за одно TCP-соединение И клиент и сервер могут прервать соединение. Для того, чтобы известить, что соединение будет прервано, они могут послать Close в значении параметра Connection

Запрос Строка-Статус = Метод SP URI- Запроса SP Версия-HTTP CRLF Заголовок-Запроса = Accept: Accept-Charset: Accept-Encoding: Accept-Language: Authorization: Cookie: From: Host: If-Modified-Since: Max-Forwards: Pragma: Proxy-Authorization: Range: Referer: User-Agent: extension-header

Методы GET – основной для простых запросов данные добавляются к адресу POST – для посылки данных HEAD – для запроса метаданных Условный GET – используется If-Modified-Since Упоминаются: PUT LINK UNLINK DELETE

Ответ Server: Set-Cookie: Vary: Warning: WWW-Authenticate: extension-header Строка-Статус = Версия-HTTP SP Статус-Код SP Фраза-Объяснение Заголовок-Ответа = Accept-Ranges: Age: Proxy-Authenticate: Public: Retry-After:

Ответ Accept-Ranges служит для передачи файла по частям (докачки). Значения: bytes – весь файл n:m – кусок с байта n длиной m none – докачка не поддерживается Retry-After – когда сервер «говорит», что сервис временно недоступен (503) Proxy-Authenticate – запрос авторизованного доступа Vary – при передаче одной из версий ресурса. Указываются параметры различия.

Заголовок-Содержания Заголовок-Содержания = Allow: Content-Base: Content-Encoding: Content-Language: Content-Length: Content-Transfer-Encoding Content-Type: Derived-From: Expires: Last-Modified: Link: Location: URI:

Статус код 1** – информация 2** – успешный ответ 3** – редирект 4** – ошибка запроса 5** – ошибка сервера

Статус коды 100 Continue 200 OK 301 Moved Permanently 302 Moved Temporarily 304 Not Modified 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 500 Internal Server Error 503 Service Unavailable

Необязательная часть Пример запроса GET /index.html HTTP/1.0 User-Agent: Mozilla/2.02Gold (WinNT; I) Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*

Пример ответа HTTP/ OK Date: Fri, 20 Sep :17:58 GMT Server: NCSA/1.5.2 Last-modified: Mon, 17 Jun :53:08 GMT Content-type: text/html Content-length: 2482

Cookie Set-Cookie: name=value; – минимальная форма Set-Cookie: name=value; expires=date; path=pathname; domain=domain- name; secure – полная форма

Пример Cookie Set-Cookie: username=guest; expires=Monday, 31-Dec :59:59 GMT; path=/; domain=

CGI – Common Gateway Interface серверклиент CGI-программа WWW-сервер браузер HTML- документ шлюз База данных

Переменные окружения AUTH_TYPE CONTENT_LENGTH CONTENT_TYPE DOCUMENT_ROOT GATEWAY_INTERFACE HTTP_ACCEPT HTTP_FROM HTTP_REFERER HTTP_USER_AGENT PATH_INFO PATH_TRANSLATED QUERY_STRING REMOTE_ADDR REMOTE_HOST REMOTE_IDENT REMOTE_USER REQUEST_METHOD SCRIPT_NAME SERVER_NAME SERVER_PORT SERVER_PROTOCOL SERVER_SOFTWARE

Переменные окружения CONTENT_LENGTH – длина данных запроса HTTP_COOKIE – cookie HTTP_REFERER – адрес ссылки QUERY_STRING – запрос (GET) REMOTE_ADDR – ip клиента REMOTE_HOST REQUEST_METHOD – метод

Заголовки, обрабатываемые сервером Content-type Set-Cookie Location Примеры: Content-type: text/html «текст» Content-type: text/html Set-Cookie: username=guest; «текст» Set-Cookie: username=guest; Location: