Теги, связанные с метаинформацией
Эта статья объясняет теги, связанные с метаинформацией.
В нем объясняется тег <meta>
, включая аспекты, связанные с SEO, адаптивным дизайном и Content-Security-Policy
.
YouTube Video
Теги, связанные с метаинформацией
Тег <meta>
1<meta charset="UTF-8">
2<meta name="viewport" content="width=device-width, initial-scale=1.0">
- Тег
<meta>
предоставляет метаданные для HTML-документа. Метаданные не отображаются на странице, но используются поисковыми системами и браузерами. Тег<meta>
используется для описания страницы, ключевых слов, информации об авторе и настроек адаптивного дизайна.
Тег <meta name="viewport">
1<meta name="viewport" content="width=device-width, initial-scale=1">
- Тег
<meta name="viewport">
управляет макетом и масштабированием веб-страниц на разных устройствах. Он часто используется в адаптивном дизайне для обеспечения правильного отображения на мобильных устройствах.
Тег <meta name="description">
1<meta name="description" content="An example webpage">
- Тег
<meta name="description">
используется для краткого описания содержимого веб-страницы. Поисковые системы используют это описание для отображения краткого содержания страницы в результатах поиска.
Тег <meta name="keywords">
1<meta name="keywords" content="HTML, CSS, JavaScript">
- Тег
<meta name="keywords">
предоставляет список ключевых слов, относящихся к содержимому страницы. Поисковые системы используют эти ключевые слова для лучшего понимания содержимого страницы.
Тег <meta name="author">
1<meta name="author" content="John Doe">
- Тег
<meta name="author">
указывает автора веб-страницы. Эта информация в основном используется поисковыми системами и инструментами для точного определения автора страницы.
Тег <meta http-equiv="refresh">
1<meta http-equiv="refresh" content="5; url=https://example.com">
- Тег
<meta http-equiv="refresh">
используется для автоматического обновления страницы или перенаправления на другой URL через указанное время. Он полезен для перезагрузки страницы или перенаправления пользователя.
Тег <meta http-equiv="cache-control">
1<meta http-equiv="cache-control" content="no-cache">
- Тег
<meta http-equiv="cache-control">
используется для управления поведением кэширования веб-страницы. Он может указывать, нужно ли кэшировать страницу или выполнять ее повторную проверку при последующем доступе.
Тег <meta http-equiv="expires">
1<meta http-equiv="expires" content="Tue, 01 Jan 2025 00:00:00 GMT">
- Тег
<meta http-equiv="expires">
устанавливает дату истечения срока действия содержимого страницы. После указанной даты содержимое становится устаревшим, и браузер выполняет запрос новой версии страницы.
Тег <meta http-equiv="X-UA-Compatible">
1<meta http-equiv="X-UA-Compatible" content="IE=edge">
- Тег
<meta http-equiv="X-UA-Compatible">
используется для указания режима совместимости для Internet Explorer. Этот тег гарантирует, что браузер использует соответствующую версию движка рендеринга для отображения страницы.
Тег <meta http-equiv="content-security-policy">
Атрибут http-equiv="content-security-policy"
в HTML-теге meta
служит для применения определенных правил безопасности в браузере с целью повышения безопасности веб-страницы. С помощью этого атрибута разработчики сайтов могут задавать политики, касающиеся загрузки ресурсов и выполнения скриптов, чтобы предотвращать атаки, такие как XSS (межсайтовый скриптинг) и внедрение данных.
Что такое Content-Security-Policy
?
Content-Security-Policy
(CSP) — это тип HTTP-заголовка, который используется для управления, какие внешние ресурсы (изображения, скрипты, таблицы стилей и т. д.) может загружать веб-страница и какой код может выполняться. Обычно он отправляется как HTTP-заголовок, но может также задаваться в HTML с использованием тега meta
. Этот метод позволяет задавать CSP на стороне клиента вместо настройки заголовков на стороне сервера.
Например, вы можете задать CSP в HTML с помощью тега meta
следующим образом:.
1<meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src https://example.com; script-src 'self' https://apis.google.com">
В этом примере установлены следующие политики:
default-src 'self'
: Все ресурсы загружаются только с того же источника (самого себя).img-src https://example.com
: Изображения загружаются только сhttps://example.com
.script-src 'self' https://apis.google.com
: Скрипты могут выполняться только с того же источника или сhttps://apis.google.com
.
Различия между http-equiv
и HTTP-заголовками
Обычно Content-Security-Policy
отправляется с сервера клиенту как HTTP-заголовок. Однако, если вы задаете его на стороне клиента с использованием тега meta
, он может быть записан напрямую в HTML.
Однако существуют некоторые важные различия между настройкой его как HTTP-заголовка и указанием с помощью тега meta
:
-
Приоритет: CSP, отправленный через HTTP-заголовки, имеет приоритет над CSP, заданным в теге
meta
. Это означает, что если CSP задан на стороне сервера, он не будет переопределен тегомmeta
, используемым на стороне клиента. -
Время применения: CSP, заданный через HTTP-заголовки, применяется до загрузки страницы. С другой стороны, CSP, заданный через тег
meta
, применяется, когда HTML анализируется, поэтому ресурсы могут уже быть загружены.
Директивы, доступные в CSP
В CSP используются различные директивы, чтобы задавать политики, позволяющие или запрещающие загрузку и выполнение определенных типов ресурсов. Типовые директивы включают в себя следующее:.
- default-src: Определяет политику источников по умолчанию для всех ресурсов. Она применяется к ресурсам, не указанным в других директивах.
- script-src: Определяет источник для JavaScript. Чтобы предотвратить XSS-атаки, вы можете ограничить загрузку скриптов с внешних сайтов.
- style-src: Определяет источник для CSS. Ограничивая загрузку таблиц стилей из внешних источников, вы можете предотвратить атаки на стили вашего сайта.
- img-src: Определяет источник изображений. Вы можете ограничить загрузку изображений из внешних источников.
- connect-src: Определяет URL-адреса, разрешенные для XMLHttpRequests и WebSocket подключений. Это гарантирует безопасность внешних API и WebSocket соединений.
Объединяя эти директивы, вы можете создавать подробные политики для ресурсов на своей веб-странице.
Практические настройки CSP для повышения безопасности
Ниже приведен пример настроек CSP для повышения безопасности вашего сайта. Это может снизить риск атак XSS и утечек данных.
1<meta http-equiv="Content-Security-Policy"
2 content="default-src 'self'; script-src 'self' https://trusted-cdn.com; object-src 'none'; style-src 'self'; base-uri 'self'; form-action 'self';">
К этой конфигурации применяются следующие политики:
default-src 'self'
: Все ресурсы загружаются только с того же источника.script-src 'self' https://trusted-cdn.com
: Скрипты загружаются только с того же источника или доверенного CDN.object-src 'none'
: Тегobject
не используется. Это необходимо для предотвращения атак на основе Flash или плагинов.style-src 'self'
: Таблицы стилей загружаются только из исходного источника.base-uri 'self'
: Базовый URL, заданный тегом<base>
, ограничен исходным источником.form-action 'self'
: Место назначения отправки формы ограничено исходным источником. Это снижает риск отправки данных формы на внешние сайты.
Заключение
Используя http-equiv="content-security-policy"
для определения CSP в HTML, можно повысить безопасность веб-страницы. Правильно настроенный CSP — это мощный инструмент, который снижает риск атак XSS и утечек данных и защищает ваш веб-сайт.
Вы можете следовать этой статье, используя Visual Studio Code на нашем YouTube-канале. Пожалуйста, также посмотрите наш YouTube-канал.