TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
Системный Аналитик

25 Aug 2023, 12:07

Open in Telegram Share Report

HTTP. Что нужно знать аналитику

HTTP (HyperText Transfer Protocol) — это, если дословно, протокол передачи гипертекста. Простыми словами, гипертекст – это текст + теги. Сегодня HTTP – самый популярный протокол интернета и в целом интеграций через API.

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

Основой HTTP является технология «клиент-сервер», есть две роли: сервер и клиент.
➖ Клиент инициируют соединение и посылает запрос на сервер
➖ Сервер обрабатывает запрос и посылает ответ клиенту.

Структура HTTP-сообщения всегда одинакова:

🔹 Стартовая строка, в которой определяется адрес, по которому отправляется запрос, и тип сообщения. Указывается метод, который определяет действия при получении этого сообщения (GET, POST и т.д.)

🔹 Заголовки (Headers), в которых прописаны определённые параметры сообщения. Например, может быть напрямую задан язык.

🔹 Тело запроса (Request Body), текст сообщения — данные, которые передаются. Например, файлы, отправляемые на сервер.

Пример запроса:
GET /users/octocat HTTP/1.1
Host: api.github.com
User-Agent: curl/7.64.1
Accept: */*


Процесс работы HTTP-протокола

1️⃣ Клиент формирует и отправляет запрос на сервер по адресу (URL), который может быть введен в браузере или сгенерирован автоматически.

2️⃣ Запрос передается по сети с помощью других протоколов, например TCP/IP, которые разбивают его на пакеты данных.

3️⃣ Сервер получает запрос, обрабатывает его и отправляет ответ, который также передается по сети в виде пакетов данных.

4️⃣ Клиент получает ответ и отображает результат, например веб-страницу в формате HTML.

Структура ответа в HTTP состоит всё из тех же частей, что и запрос:

🔸 Cтартовая строка содержит версию протокола, код состояния и текст результата запроса, например, HTTP/1.1 200 OK

🔸 Заголовки содержат дополнительную информацию о ответе, такую как тип и длина контента, дата и время, куки, кэширование и т.д.
Например:
Content-Type: text/html; charset=utf-8
Content-Length: 125829
Date: Mon, 29 Nov 2021 10:24:06 GMT

🔸 Тело содержит данные ответа, например HTML-документ, изображение, JSON-объект и т.д.

Пример ответа
HTTP/1.1 200 OK
Date: Sat, 09 Oct 2010 14:28:02 GMT
Server: Apache
Content-Length: 29769
Content-Type: text/json

{
"isFree": false,
"price": 200
}

📎 Материалы по теме
1. Стандарт HTTP 1.1 — RFC 2616
2. Статья Что такое протокол HTTP и почему на нём работают почти все сайты
3. Статья на сайте Backend interview
4. Обзор протокола HTTP — Mozilla
5. HTTP-запросы: структура, методы, строка статуса и коды состояния — Академия Selectel
6. Самые распространённые HTTP-заголовки

В продолжение к посту кидаем полезные шпаргалки 👇

#интеграции #api

1.7k 0 37 17
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot