HTTP/HTTPS Flashcards
dsvfdv
что такое HTTP
HTTP – это протокол верхнего (прикладного) уровня, который обеспечивает обмен информацией между клиентским компьютером и локальным или удаленным веб-сервером. В этом процессе клиент отправляет текстовый запрос на сервер, вызывая метод (GET или POST). В ответ сервер отправляет клиенту ресурс, например, HTML-страницу.
Особенности HTTP/1.0
В HTTP/1.0 клиент должен был разрывать и снова создавать TCP-соединение для каждого нового запроса.
Особенности HTTP/1.1
1) в HTTP/1.1 все запросы и ответы хранятся в простом текстовом формате
2) TCP-соединение всегда открыто, пока не указано обратное
3) Несколько TCP-соединений одновременно (6 максимум)
4) блокировка очереди (head-of-line blocking, или HOL) => когда запрос в начале очереди, который не может извлечь требуемый ресурс, блокирует все запросы, находящиеся за ним
Особенности HTTP/2
запрос 2
1) Двоичный уровень кадрирования.
HTTP/2 кодирует сообщения в двоичный файл (двоичный уровень кадрирования кодирует запросы и ответы и разбивает их на более мелкие пакеты информации, что значительно повышает гибкость передачи данных)
2) Одно TCP-соединение, но несколько потоков данных (в каждом потоке несколько сообщений запрос-ответ, разбитые на кадры)
3) Мультиплексирование =>
Чередующиеся запросы и ответы могут выполняться параллельно, не блокируя следующие сообщения в очереди.
4) Приоритизация потоков
5) Server Push
Поскольку HTTP/2 поддерживает множество одновременных ответов на первоначальный GET запрос клиента, сервер может отправить клиенту ресурс вместе с запрошенной HTML-страницей, предоставляя ресурс до того, как клиент запросит его.
6) Сжатие заголовков
#запрос 1
method: GET
scheme: https
host: example.com
path: /academy
accept: /image/jpeg
user-agent: Mozilla/5.0 …
path: /academy/images
Особенности HTTPS
1) HTTPS объединяет HTTP-запросы и ответы с технологиями SSL и TLS.
(для обмена зашифрованными данными).
Веб-сайты HTTPS должны получить сертификат SSL/TLS от независимого центра сертификации (CA)
-Вы открываете веб-сайт HTTPS, введя формат URL-адреса https:// в адресной строке браузера.
-Браузер пытается проверить подлинность сайта, запросив SSL-сертификат сервера.
-В ответ сервер отправляет сертификат SSL, содержащий открытый ключ.
-SSL-сертификат веб-сайта подтверждает личность сервера.
Методы HTTP запроса
1) GET (идемпотентный)
Метод GET запрашивает представление ресурса. Запросы с использованием этого метода могут только извлекать данные.
2) HEAD
HEAD запрашивает ресурс так же, как и метод GET, но без тела ответа (только заголовки)
3) POST (неидемпотентный)
POST используется для отправки сущностей к определённому ресурсу. Часто вызывает изменение состояния или какие-то побочные эффекты на сервере, например, повторный вызов одного и того же метода POST может иметь такие эффекты, как например, оформление одного и того же заказа несколько раз.
4) PUT (идемпотентный)
PUT заменяет все текущие представления ресурса данными запроса.
5) PATCH (неидемпотентный или неидемпотентный)
PATCH используется для частичного изменения ресурса.
6) DELETE (идемпотентный)
DELETE удаляет указанный ресурс.
7) CONNECT
CONNECT устанавливает “туннель” к серверу, определённому по ресурсу.
8) TRACE
TRACE выполняет вызов возвращаемого тестового сообщения с ресурса.
9) OPTIONS
OPTIONS используется для описания параметров соединения с ресурсом.
Коды состояния ответа HTTP
1) Информационные ответы (100 – 199)
2) Успешные ответы (200 – 299)
3) Сообщения о перенаправлении (300 – 399)
4) Ошибки клиента (400 – 499)
5) Ошибки сервера (500 – 599)