Ответ
Полный путь HTTP-запроса:
-
DNS Resolution (Разрешение доменного имени):
# Пример DNS-запроса nslookup example.com # Возвращает: 93.184.216.34 -
TCP Handshake (Установка соединения):
- SYN → SYN-ACK → ACK (three-way handshake)
- Для HTTPS: дополнительно TLS handshake
-
HTTP Request (Формирование запроса):
GET /api/users HTTP/1.1 Host: api.example.com User-Agent: Mozilla/5.0 Accept: application/json Authorization: Bearer token123 -
Server Processing (Обработка на сервере):
# Пример Django view from django.http import JsonResponse def get_users(request): if request.method == 'GET': users = User.objects.all().values('id', 'name') return JsonResponse(list(users), safe=False) -
HTTP Response (Формирование ответа):
HTTP/1.1 200 OK Content-Type: application/json Cache-Control: max-age=3600 [ {"id": 1, "name": "John"}, {"id": 2, "name": "Jane"} ] -
Browser Rendering (Обработка в браузере):
- Парсинг HTML/CSS/JS
- Выполнение JavaScript
- Отображение DOM
Критические метрики, которые я отслеживаю:
- DNS lookup time: < 100ms
- TCP connection time: < 200ms
- TTFB (Time to First Byte): < 300ms
- Full page load: < 3s