Универсальный Идентификатор Ресурса URI

Универсальный Идентификатор Ресурса URI. URI известны под многими именами WWW адреса, Универсальные Идентификаторы Документов, Универсальные Идентификаторы Ресурсов URI , и, в заключение, как комбинация Единообразных Идентификаторов Ресурсов Uniform Resource Locators, URL и Единообразных Имен Ресурсов Uniform Resource Names, URN . HTTP определяет URL просто как строку определенного формата, которая идентифицирует ресурс посредством имени, расположения, или любой другой характеристики. 3.2.1 Общий синтаксис. URI в HTTP могут представляться в абсолютной форме absolute URI или относительно некоторого известного основного URI relative URI , в зависимости от контекста их использования. Эти две формы различаются тем, что абсолютные URI всегда начинаются с имени схемы с двоеточием.

URI absoluteURI relativeURI fragment absoluteURI scheme uchar reserved relativeURI net path abs path rel path net path net loc abs path abs path rel path rel path path params ? query path fsegment segment fsegment 1 pchar segment pchar params param param param pchar scheme 1 ALPHA DIGIT net loc pchar ? query uchar reserved fragment uchar reserved pchar uchar uchar unreserved escape unreserved ALPHA DIGIT safe extra national escape HEX HEX reserved ? extra safe unsafe CTL SP national любой OCTET за исключением ALPHA, DIGIT, reserved, extra, safe, и unsafe октетов Полная информация о синтаксисе и семантике URL содержится в RFC 1738 и RFC 1808. Нормальная запись Бекуса-Наура включает национальные символы, недозволенные в правильных URL, определеных RFC 1738, так как HTTP серверы позволяют использовать для представления части rel path адресов набор не зарезервированных символов, и, следовательно, HTTP прокси-сервера могут получать запросы URI, не удовлетворяющие RFC 1738. Протокол HTTP не накладывает никаких ограничений на длины URI. Серверы должны обрабатывать URI любого ресурса, любой длинны, который они обслуживают, и им надлежит обрабатывать URI неограниченной длины, если они обслуживают сервера, основанные на методе GET, которые могут создавать такой URI. Серверу следует возвращать код состояния 414 URI запроса слишком длинный, Request-URI Too Long, если URI длиннее, чем сервер в состоянии обработать.

Серверы должны обращать внимание на URI, которые имеют длину более 255 байтов, потому что некоторые старые клиенты или прокси-сервера могут неправильно поддерживать эти длины. 3.2.2 HTTP URL. Http схема используется для доступа к сетевым ресурсам при помощи протокола HTTP. Этот раздел определяет схемо-определенный синтаксис и семантику для HTTP URL. http URL http host port abs path host допустимое доменное имя машины или IP адрес в точечно десятичной форме, как определено в разделе 2.1 RFC 1123 port DIGIT Если порт пуст или не задан - используется порт 80. Это означает, что идентифицированный ресурс размещен в сервере, ожидающем TCP соединений на специфицированном порте port, компьютера host, и запрашиваемый URI ресурса - abs path. Использования IP адресов в URL следует избегать, насколько это возможно RFC 1900 . Если abs path не представлен в URL, он должен рассматриваться как при вычислении запрашиваемого URI Request-URI ресурса. 3.2.3