HTTP


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

Слайд 0

HTTP Hypertext Transfer Protocol вторник, 16 мая 2017 г.


Слайд 1

Сетевые модели Объединены в TCP/IP


Слайд 2

Сетевая модель OSI


Слайд 3

Сетевая модель TCP/IP


Слайд 4

HTTP: достоинства и недостатки Простота Расширяемость Распространённость Размер сообщений Отсутствие «навигации» Нет поддержки распределённости Протокол без поддержки состояния


Слайд 5

Структура сообщений HTTP Starting line определяет тип сообщения Headers характеризуют тело сообщения и параметры передачи Message Body данные сообщения Тело сообщения обязательно должно отделяться от заголовков пустой строкой


Слайд 6

Стартовая строка Запрос: Метод URI HTTP/Версия GET /path/resource HTTP/1.1 Ответ: HTTP/Версия КодСостояния Пояснение HTTP/1.1 200 Ok


Слайд 7

Методы HTTP GET POST HEAD OPTIONS PUT PATCH DELETE TRACE CONNECT LINK UNLINK


Слайд 8

Метод GET Условный GET If-Modified-Since If-Match If-Range Передача параметров GET /path/resource?param1=value1&param2=value2 HTTP/1.1 Частичный GET Range


Слайд 9

Коды состояния 1xx Informational 2xx Success 3xx Redirection 4xx Client Error 5xx Server Error


Слайд 10

Заголовки HTTP General Headers Request Headers Response Headers Entity Headers Каждый заголовок – разделённая двоеточием пара «параметр-значение»


Слайд 11

Пример HTTP-запроса GET /path/resource HTTP/1.1 Host: www.mysite.ru User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) Accept: text/html Connection: close


Слайд 12

Пример HTTP-ответа HTTP/1.1 200 OK Date: Wed, 24 Feb 2010 11:20:59 GMT Server: Apache X-Powered-By: PHP/5.2.4-2ubuntu5wm1 Last-Modified: Wed, 24 Feb 2010 11:20:59 GMT Content-Language: ru Content-Type: text/html; charset=utf-8 Content-Length: 1234 Connection: close


Слайд 13

Пример с несколькими сущностями POST /path/resource HTTP/1.1 Host: www.mysite.ru Referer: http://www.mysite.ru/path/resource User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) Content-Type: multipart/form-data; boundary=“separator” Content-Length: (суммарный объём включая дочерние заголовки) Connection: keep-alive Keep-Alive: timeout=300 (пустая строка)


Слайд 14

Продолжение примера (пустая преамбула) --separator Content-Disposition: form-data; name=“Description” (пустая строка) Описание картинки --separator Content-Disposition: form-data; name=“AttachedFile”; filename=“photo.jpg” Content-Type: image/jpeg (пустая строка) (двоичное содержимое первой фотографии) --separator (отсутствующий эпилог)


Слайд 15

HTTPS SSL - Secure Sockets Layer TLS - Transport Layer Security


Слайд 16

Рукопожатие – “Handshake” клиент предоставляет список поддерживаемых алгоритмов шифрования и хеш-функций; сервер выбирает из этого списка наиболее устойчивые алгоритмы и сообщает о своем выборе клиенту; сервер отправляет клиенту цифровой сертификат и открытый ключ для собственной идентификации; клиент шифрует случайно сгенерированную цифровую последовательность (ключ сессии) открытым ключом сервера и посылает результат на сервер; только сервер может расшифровать полученную последовательность, используя свой закрытый ключ.


Слайд 17

Встраивание слоя SSL/TLS


Слайд 18

cookie GET /index.html HTTP/1.1 Host: www.mysite.ru HTTP/1.1 200 OK Content-type: text/html Set-Cookie: name=value GET /about.html HTTP/1.1 Host: www.mysite.ru Cookie: name=value Set-Cookie: name=value; expires=date; path=/; domain=.mysite.ru Set-Cookie: RMID=732423sdfs73242; expires=Fri, 31-Dec-2010 23:59:59 GMT; path=/; domain=.mysite.ru


×

HTML:





Ссылка: