Какие протоколы регулируют взаимодействие между браузером (клиентом) и сервером?

«Какие протоколы регулируют взаимодействие между браузером (клиентом) и сервером?» — вопрос из категории HTTP и веб-протоколы, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Взаимодействие между веб-браузером (клиентом) и сервером в основном регулируется протоколом HTTP (HyperText Transfer Protocol) и его защищенной версией HTTPS.

Ключевые элементы HTTP/HTTPS:

  1. Методы запросов: GET (получить данные), POST (отправить данные), PUT, DELETE и др.
  2. Коды состояния (Status Codes): 200 OK (успех), 404 Not Found (ресурс не найден), 500 Internal Server Error и т.д.
  3. Заголовки (Headers): Определяют тип контента, кодировку, куки, управление кэшем (например, Content-Type: application/json).
  4. Тело запроса/ответа (Body): Фактические данные, часто в форматах JSON или XML.

Пример HTTP-запроса и ответа:

GET /api/users HTTP/1.1
Host: api.example.com
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json

{
  "users": [
    {"id": 1, "name": "Alice"},
    {"id": 2, "name": "Bob"}
  ]
}

Для сценариев реального времени (чаты, уведомления) поверх HTTP устанавливается постоянное соединение по протоколу WebSocket.