intermediate

Headers и cookies

Используйте headers и cookies для content negotiation, cache directives, auth context, security policies, session state и browser constraints.

Заголовки согласуют представление, кэш, безопасность и трассировку. Частые request: `Accept`, `Authorization`, `Content-Type`, `If-None-Match`, `X-Request-Id`. Response: `Content-Type`, `Cache-Control`, `ETag`, `Set-Cookie`, `Location`.

Cookies несут идентификаторы сессии или настройки. Важны атрибуты: `HttpOnly` блокирует доступ из JS; `Secure` требует HTTPS; `SameSite` управляет cross-site отправкой; `Domain` и `Path` задают область; `Max-Age` или `Expires` — срок жизни.

					Set-Cookie: sid=abc; HttpOnly; Secure; SameSite=Lax; Path=/; Max-Age=3600
				

В Node задавайте cookies через helpers фреймворка с корректным кодированием атрибутов. Считайте `Authorization` и cookies секретами в логах.

На интервью: content negotiation, зачем `Vary` для кэшей, баги scope cookies на поддоменах, лимиты размера заголовков (~8 KB на многих серверах).

Типовые ошибки: логирование Cookie или Authorization целиком; wildcard Domain на родительском сайте; без Secure в production.

Компромисс — между простотой, производительностью, безопасностью и эксплуатацией: назовите, что оптимизировали и какую цену приняли.

Чеклист:

  • Negotiation и cache-заголовки.
  • Осознанные security-атрибуты cookies.
  • Request ID для трассировки.
  • Редактирование чувствительных заголовков в логах.