WordPress DemoSite

Тестовый сайт для экспериментов и демонстраций возможностей

Стандарты HTTP, SSE и JSON-RPC

В современной веб-разработке используются различные протоколы и стандарты для обмена данными между клиентом и сервером. Рассмотрим три ключевых технологии: HTTP, Server-Sent Events (SSE) и JSON-RPC.


1. HTTP (HyperText Transfer Protocol)

HTTP — это протокол прикладного уровня для передачи гипертекстовых документов (HTML, JSON, XML и др.).

Основные характеристики:

Пример HTTP-запроса (GET):

GET /api/users/1 HTTP/1.1
Host: example.com

Ответ:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": 1,
  "name": "John Doe"
}

2. SSE (Server-Sent Events)

SSE — это технология, позволяющая серверу отправлять события клиенту в одном направлении (от сервера → клиенту).

Основные особенности:

Пример SSE на клиенте (JavaScript):

const eventSource = new EventSource('/updates');

eventSource.onmessage = (event) => {
  console.log('Новое сообщение:', event.data);
};

Пример ответа сервера:

HTTP/1.1 200 OK
Content-Type: text/event-stream

data: {"message": "Hello!"}

data: {"message": "Update received"}

Применение: уведомления, ленты новостей, обновления статусов.


3. JSON-RPC

JSON-RPC — это протокол удаленного вызова процедур (RPC), использующий JSON для кодирования сообщений.

Основные принципы:

Пример запроса (вызов метода sum):

{
  "jsonrpc": "2.0",
  "method": "sum",
  "params": [5, 3],
  "id": 1
}

Пример ответа:

{
  "jsonrpc": "2.0",
  "result": 8,
  "id": 1
}

Используется в: Ethereum API, некоторых микросервисных архитектурах.


Сравнение технологий

ТехнологияНаправление связиТранспортИспользование
HTTPЗапрос-ответTCP/IPREST API, загрузка данных
SSEСервер → КлиентHTTPУведомления, стриминг
JSON-RPCДвустороннийHTTP/WSУдалённые вызовы процедур

Когда что использовать?

Каждая технология имеет свои преимущества и выбирается в зависимости от задачи.

Полный стэк: .NET | AMQP | Android | api | Bash | Bootstrap | C++ | cms | Composer | css | Data | Elasticsearch | ESP32 | Git | GraphQL | Gulp | JavaScript | JetStream | Joomla | js | Kotlin | Laravel | LEMP | Linux | LMS | Markdown | MODX | Moodle | MySQL | NATS | Nginx | Node.js | OpenCart | Parsedown | PHP | Python | RabbitMQ | SCSS | SEO | Simpla | SOAP | SQL | startup | Swift | Symfony | Tailwind | Translation | Twig | Ubuntu | Unit | web3 | Webasyst | Webpack | WebSocket | WordPress | XML | Бизнес | блокчейн | Вёрстка | ИИ | интернет-магазин | ЛК | Руководство | ТЗ | фреймворк | Яндекс.Трекер