и как выглядит его сетевая единица
Вообще есть три основных значения слова «трафик» в диджитале
- объём информации, передаваемый по сети. Измеряется в битах (Мб/Гб),
- объём посетителей сайта или приложения за период времени
- 2.1 объём посещений сайта или приложения с рекламной кампании, как частный случай
- совокупный объём предложений показов (рекламных запросов)
Рекламный трафик — это либо 2.1, либо 3. Но вот реклама и её показ им быть не могут, ибо после такого поворота судьбы разговор сразу же споткнётся об «а в какую сторону закупку мы обсуждаем?».
Остановимся сейчас на третьем определении.
Что тогда будет единица рекламного трафика?
Предложение показа, но это не так интересно.
А вот через сетевую призму — это HTTP запрос. И если я просто скажу «Hypertext Transfer Protocol request», понятнее не станет.
Так что начну с того, на каких протоколах вообще стоит интернет и почему мы видим его во всех ссылках.
Место HTTP в интернете
Разделим сеть на уровни
- Канальный — как два устройства, напрямую соединённые проводом или по воздуху, будут обмениваться нулями и единицами. Протоколы: стандарты для кабелей, Ethernet, Wi-Fi.
- Сетевой — как порция данных дойдёт от одного устройства до другого, не потерявшись на огромном количестве развилок, имея только его адрес. Протоколы: IPv4, IPv6, ICMP.
- Транспортный — как сохранять последовательность и целостность всех порций данных. Или же как в видеоиграх и стриминге — не сохранять, но получать минимальную задержку. Протоколы: TCP, UDP.
- Прикладной — как взаимодействуют веб-приложения. Протоколы: FTP, WebSocket, HTTP, наконец-то.
Что делает HTTP
Основные две задачи у веб-приложений — получить данные и отправить данные. Для них (и для всех остальных) HTTP стандартизирует участвующие в процессе запрос и ответ.
Вот браузер запрашивает страницу, чтобы получить данные — это GET запрос
GET /news/kogo_zamenit_gpt6?utm_source=chatgpt.com HTTP/1.1
Host: news.com
А вот вы отправляете заполненную форму на сайте, чтобы передать лид на сервер и выполнить KPI по рк — уходит уже POST запрос (и клиент, возможно):
POST /form_submit HTTP/1.1
Host: bussines.com
{
"username": "alex",
"phone": "8-900..."
}
«Гет-параметры — где-то мы это слышали»
Опытные пользователи ПК могут заметить, что после «?» в ссылке часто пишут utm-метки, и да, это способ даже при GET запросе не только запросить, но и отправить информацию. Такой метод используют для браузерных запросов. Но, в целом, это скорее исключение в логике вещей.
Cookie тут где-то тоже?
Да, а также язык браузера и прочие стандартно нужные вещи передаются в специальных параметрах запроса — хедерах. После Host, где прописывается запрашиваемый домен, идут:
Cookie: to_chto_server_sohranil_na_kompe_naprimer id=123xyz
Accept-Language: ru
...
Рекламный HTTP запрос
Например, в теле страницы находится скрипт, который отправляет GET запрос к серверу (читай, приложению на сервере):
GET /placement1 HTTP/1.1
Host: ssp.com
Accept-Language: ru
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 14_0)…
Cookie: ssp_user_id=123
Сервер возвращает свои заголовки и тело
HTTP/1.1 200 OK
Content-Length: 1023
{html баннер}
Взаимодействие SSP с DSP требует в запросе передать RTB реквест, так что тут уже POST:
POST /ssp_id=123 HTTP/1.1
Host: dsp.com
..
{rtb_request}
А в ответ
HTTP/1.1 200 OK
Content-Length: 1023
..
{rtb_response}
Вспоминают ли о HTTP программисты?
При базовой настройке приложения (платформы) ты делегируешь сетевые настройки на уже готовые пакеты с открытым кодом, выполняющим за тебя формирование HTTP запросов и ответов, а работа идёт по тем параметрам, что ты получаешь в ссылке после «?» или в теле POST запроса.
Так что кто, если не мы (и сис. админы), будет о нём вспоминать? :(
Кстати, длинные тире я ставлю сам.