Формат хэша URL, что разрешено, а что нет? - PullRequest
2 голосов
/ 03 мая 2011

Я использую навигацию на основе хеша в своем многофункциональном веб-приложении.Я также обнаружил, что мне нужно создать постоянные ссылки, которые будут указывать на отдельные экземпляры ресурсов, но, поскольку я не могу вызвать обновление страницы, и главная страница загружается по одному пути '/', я не могу использовать real URL.Вместо этого я подумал об использовании хэшей.Позвольте мне привести вам пример, потому что я знаю, что приведенное выше объяснение - отстой.

Итак, вместо http://example.com/path/to/resource/1, у меня будет http://example.com/#path/to/resource/1

Это работает нормально, иБраузер считает, что '# path / to / resource / 1' - это хеш (я думаю, разрешены косые черты), но мне было интересно узнать, какие символы разрешены в хэше URL.Есть ли спецификация или RFC, которые я мог бы прочитать, чтобы узнать, каково стандартное поведение браузеров, когда дело доходит до хэшей?

РЕДАКТИРОВАТЬ: Хорошо, так глупо меня.На самом деле не проверял, работают ли слэши во всех браузерах.Хром явно не любит их.Работает только в FF.

Ответы [ 3 ]

5 голосов
/ 03 мая 2011

Посмотрите на: http://www.w3.org/Addressing/rfc1630.txt или http://www.w3.org/Addressing/URL/4_2_Fragments.html

В основном вы можете использовать все, что может быть закодировано в URL.

Примечание. Возможны несоответствия браузера.Если вы боитесь их, вы можете использовать механизм сериализации, такой как преобразование строки в шестнадцатеричное или что-то еще (хотя будет вдвое больше), или использовать какой-то идентификатор.

1 голос
/ 03 мая 2011

Этот документ должен помочь. Разрешены слэши, но лексический анализ может отличаться в разных браузерах.

0 голосов
/ 03 мая 2011

Я думаю, вы могли бы найти это полезным: RFC3986

Если вы используете PHP для генерации путей к страницам, вы также можете urlencode () , который генерирует вас валидноURL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...