Введение

Текст после символа # в URI ресурса. В компьютерном гипертексте фрагмент URI — это строка символов, указывающая на ресурс, являющийся частью другого, основного ресурса. Основной ресурс идентифицируется с помощью универсального идентификатора ресурса (URI), а идентификатор фрагмента указывает на этот частичный ресурс. Идентификатор фрагмента, начинающийся с символа решётки #, является необязательной последней частью URL для документа и обычно используется для обозначения его части. Общий синтаксис описан в RFC 3986. Символ решётки, используемый в качестве разделителя в URI, не входит в состав идентификатора фрагмента.

Основы

В URI символ решётки # обозначает необязательный фрагмент в конце URL. Общий синтаксис RFC 3986 для URI также допускает необязательную часть запроса, начинающуюся с вопросительного знака ?. В URI, содержащих запрос и фрагмент, фрагмент следует за запросом. Части запроса зависят от схемы URI и обрабатываются сервером, например, http поддерживает запросы, в отличие от ftp. Фрагменты зависят от типа MIME документа и обрабатываются клиентом (веб-браузером). Клиентам не следует отправлять фрагменты URI на сервер при получении документа. URI, заканчивающийся на #, допустим согласно общему синтаксису и представляет собой пустой фрагмент. В типах документов MIME, таких как text/html или любой тип XML, пустые идентификаторы, соответствующие этой синтаксически корректной конструкции, не допускаются. Веб-браузеры обычно отображают начало документа для пустого фрагмента. Идентификатор фрагмента функционирует иначе, чем остальная часть URI: его обработка происходит исключительно на стороне клиента без участия веб-сервера, хотя сервер обычно помогает определить тип MIME, а тип MIME определяет обработку фрагментов. Когда агент (например, веб-браузер) запрашивает веб-ресурс с веб-сервера, агент отправляет URI на сервер, но не отправляет фрагмент. Вместо этого агент ожидает, пока сервер не отправит ресурс, а затем обрабатывает его в соответствии с типом документа и значением фрагмента. На HTML веб-странице агент будет искать якорь, идентифицированный HTML-тегом, содержащим атрибут id= или name=, равный идентификатору фрагмента.