Сервіс перевірки HTTP-заголовків сервера

Для будь-якого сайту важливо правильно налаштувати заголовки HTTP. На тему заголовків було написано багато статей. Тут ми узагальнили накопичений досвід, документацію RFC. Якісь із заголовків обов'язкові, якісь застарілі, якісь можуть вносити плутанину та протиріччя. Ми зробили пузомірку для автоматичної перевірки HTTP-заголовків веб-сервера. На відміну від багатьох інших сервісів, які просто показують заголовки, цей сервіс дозволяє:

  1. встановити значення типових заголовків;
  2. додати свої довільні заголовки;
  3. вказати версію HTTP-протоколу: 1.0, 1.1, 2 (перевіряє чи підтримується HTTP/2);
  4. вказати метод запиту, час очікування та дані postdata для надсилання на сервер;
  5. також пузомірка перевіряє коректність відповіді запити If-Modified-Since, If-None-Match, якщо у відповіді сервера є Last-Modified або ETag.


Чи не претендуємо на істинність в останній інстанції. Для окремого контенту та окремих проектів, звісно, ​​може бути відступу. Але цей сервіс точно підкаже, на що варто звернути увагу, можливо вам буде корисно відредагувати свої заголовки. Далі перелік того на що звертає увагу сервіс перевірки. Чому так читайте у статтях на хабрі.

Обов'язкові заголовки

  • Дата
  • Content-Type із зазначенням charset для текстового контенту бажано utf-8
  • Content-Encoding стиск для текстового контенту

Застарілі та непотрібні заголовки

  • Server з детальною версією веб-сервера
  • X-Power-By
  • X_ASPNET-Version
  • Закінчується
  • Pragma
  • P3P
  • через
  • X-UA-сумісний

Бажані заголовки для безпеки

  • X-Content-Type-Options
  • X-XSS-захист
  • Строгий-Транспорт-Безпека
  • Політика реферера
  • Feature-Policy
  • Content-Security-Policy або Content-Security-Policy-Report-Only для заборони вбудованих скриптів та стилів.

Заголовки для кешування

Обов'язкові для статичного контенту з великим терміном кешування і дуже бажані динамічного контенту з невеликим терміном кешування.

  • Остання змінена
  • ETtag
  • Cache-Control
  • змінюватися
  • Важливо, щоб сервер коректно відповідав на заголовки: If-Modified-Since та If-None-Match

HTTP / 2

Зараз сервер має підтримувати HTTP/2. За замовчуванням сервіс перевіряє роботу сервера HTTP/2. Якщо ваш сервер не підтримує HTTP/2, вибирайте HTTP/1.1.

Джерело: habr.com

Додати коментар або відгук