В текущей спецификации HTTP фрагмент URL-адреса (часть URL-адреса, включающая в себя #
и после него) никоим образом не отправляется на сервер. Однако с увеличением распространения AJAX, который использует фрагмент для поддержания некоторой формы состояния, во многих ситуациях было бы полезно, чтобы сервер знал фрагмент URL во время запроса.
Например, если вы перейдете на http://facebook.com,, а затем щелкните имя пользователя в потоке, URL станет http://faceboook.com/#!/username - чтобы позволить FB обновлять вашу страницу без перезагрузки всех своих загрузочных JS и HTML. Однако, если вы перезагрузите его с помощью своего браузера, сервер не сможет увидеть часть URL «# /! Username» и, следовательно, не сможет предварительно отобразить контент для вас. Это заставляет ваш браузер сделать дополнительный запрос после того, как клиентский Javascript загрузил и проанализировал фрагмент.
Мне интересно, были ли предприняты какие-либо усилия или предложения по созданию стандартного механизма для достижения этой цели.
Например, может быть стандартный заголовок HTTP, который будет отправлен со значением фрагмента URL - любой сервер, который заботится о таких вещах, может иметь к нему доступ.
Кажется, это было бы очень полезно для сообщества веб-приложений в целом, поэтому я удивлен, что не услышал ничего предложенного. Возможно, я пропустил это все же.