Протоколы передачи данных

1. Протоколы передачи данных

Протокол — набор правил и соглашений, используемых при передаче данных в сети.

Перед тем как пользователь увидит содержимое сайта на экране, браузер делает запрос на сервер, чтобы получить это самое содержимое. HTML-файл, изображения, стили, скрипты - каждый элемент приходит с сервера.

2. TCP/IP

Основополагающий протокол сети Internet. Это - два протокола тесно связанных между собой.

  • TCP (Transmission Control Protocol) — протокол управления передачей. Определяет, каким образом информация должна быть разбита на пакеты и отправлена по каналам связи. TCP располагает пакеты в нужном порядке, а также проверяет каждый пакет на наличие ошибок при передаче.

  • IP (Internet Protocol) — каждый информационный пакет содержит IP-адреса компьютера-отправителя и компьютера-получателя. Специальные компьютеры, называемые маршрутизаторами, используя IP-адреса, направляют информационные пакеты в нужную сторону, то есть к указанному в них получателю.

3. HyperText Transfer Protocol (HTTP)

Браузер запрашивает и получает данные через HTTP-протокол, поэтому браузер еще называют HTTP-клиентом.

Протокол передачи гипертекста (HTTP) — специально разработанный протокол как основа World Wide Web, используется для передачи всех необходимых типов данных: html, изображений, аудио и видео, css, javascript и т. д. Дефолтный TCP-порт — 80.

HTTP основан на модели клиент-сервер и протоколе запрос-ответ, который работает путем обмена сообщениями через надежное TCP/IP соединение.

req res cycle

Есть клиент, который инициирует соединение и посылает запрос и сервер, который ожидает соединения для получения запроса, производит необходимые действия и возвращает обратно сообщение с результатом. Связь между ними осуществляется посредством череды перемежающихся HTTP-запросов и HTTP-ответов.

3.1. HyperText Transfer Protocol Secure (HTTPS)

HTTPS — это надстойка над HTTP-протоколом, в которой все сообщения между клиентом и сервером шифруются в целях повышения безопасности. Обеспечивает защиту от атак, основанных на прослушивании соединения. Данные передаются поверх криптографических протоколов SSL или TLS. Дефолтный TCP-порт — 443.

ssl

При общении через обычное HTTP-соединение все данные передаются в виде текста и могут быть прочитаны всеми, кто получил доступ к соединению между клиентом и сервером. Если пользователь делает покупки онлайн и заполняет форму заказа, содержащую информацию о кредитной карте, их финансовые данные гораздо легче украсть, если они передаются в виде текста. С HTTPS данные будут зашифрованы и хакер не сможет их расшифровать, потому что для расшифровки необходим доступ к закрытому ключу, который хранится на сервере.

http https protocols
  • Информация о клиенте, например номера кредитных карт, зашифрована и не может быть перехвачена в расшифрованном виде.

  • Посетители могут подтвердить, что сайт безопасен, посмотрев на иконку слева от адресной строки, защищенные соединения помечаются иконкой замка.

  • Клиенты с большей вероятностью будут доверять и совершать покупки с сайтов, использующих HTTPS.

3.2. На что тратит время HTTP-запрос

Запрос происходит в несколько этапов:

  • DNS-запрос — поиск ближайшего DNS-сервера, чтобы преобразовать адрес (например google.com ) в его числовое представление, IP-адрес (74.125.87.99).

  • Соединение — установка соединения с сервером по полученному IP-адресу.

  • Отправка данных — пересылка пакетов с клиента на сервер.

  • Ожидание ответа — ждем, пока пакеты данных дойдут до сервера, он их обработает и ответ вернется назад.

  • Получение данных — пакеты пришли, можно получать из них данные.

4. HTTP/1.1 и HTTP/2

http versions

5. Дополнительные материалы

Last updated