Хорошо пропускать наклонную черту перед строкой запроса?

Я написал подробное объяснение о том, как это сделать, здесь: http://anthony-tresontani.github.com/Django/2012/09/20/multilingual-search/

Это подразумевает написание собственного механизма solr (backend + query) и настройку нескольких ядер по языкам.

60
задан Mark Amery 11 February 2017 в 14:44
поделиться

2 ответа

Нет. Пропускать косую черту неправильно. Он может работать в современных браузерах: однако это не значит, что это правильно.

См. RFC1738 - URL и RFC2396 - URI .

Формат согласно RFC1738 (здесь я исключил формат схемы):

// : @ : /

Далее следует отметить, что:

... "/" между хостом (или портом) и URL-путем НЕ является частью URL-пути.

В этом случае случай "?" является частью url-пути, который

... зависит от используемой схемы, как и от способа ее интерпретации.

Также обратите внимание, что согласно спецификации, вполне допустимо опустить "/ url-path" - обратите внимание, что "/" был явно включен в этом случае.

Таким образом, "foo.com?bar" недействителен, потому что перед url- путь.

48
ответ дан 24 November 2019 в 17:45
поделиться

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

Обратите внимание, конечно, что большинство веб-серверов и фреймворков веб-приложений изо всех сил стараются принимать все виды входных данных и обрабатывать их соответствующим образом. Поэтому в большинстве случаев веб-сервер или автономное веб-приложение будет обрабатывать / abc равным / abc / . Но помните,

4
ответ дан 24 November 2019 в 17:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: