этот URL недействителен и не является хорошей практикой? - PullRequest
1 голос
/ 21 октября 2010

У меня есть URL в этом формате:

http://www.example.com/manchester united

обратите внимание на пробел между Манчестером и Юнайтед, это плохая практика, или это совершенно нормально, я просто хотел, прежде чем продолжить, спасибо

Ответы [ 8 ]

2 голосов
/ 21 октября 2010

Пробел не является допустимым символом в URI; у вас есть для замены на %20. Это также может считаться плохой практикой. Замена пробела на -, + или _ является предпочтительной; он «красивее» и не требует экранирования URI.

Большинство браузеров по-прежнему пытаются анализировать URI с пробелом; но это очень неоднозначно.

2 голосов
/ 21 октября 2010

Он будет заменен в адресной строке как http://www.example.com/manchester%20united,, что, как я лично считаю, гораздо более ужасно, чем альтернатива http://www.example.com/manchester_united.

2 голосов
/ 21 октября 2010

Это плохая практика не только потому, что браузеры должны превращать пространство в% 20 и тем самым запутывать адресные строки ваших пользователей, но и потому, что было бы трудно сообщить URL кому-либо.Кроме того, как насчет всех тех регулярных выражений "найти ссылки в тексте", которые связаны с переполнением стека?Вы эффективно разбиваете их всех!

0 голосов
/ 21 октября 2010

Возможно вопрос: https://webmasters.stackexchange.com/

Но ...

Если вы введете больше, чем в браузер, это добавит% 20 между Манчестером и Юнайтед.Технически вы должны сделать это на своей HTML-странице, но большинство современных браузеров могут справиться с этим.Обычная практика - разделять их дефисом, например http://www.example.com/manchester-united.

. Посмотрите на URL этого вопроса, чтобы увидеть пример этого в действии.

0 голосов
/ 21 октября 2010

Технически это будет работать. Браузер заменит пространство на %20, а сервер переведет его обратно.

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

0 голосов
/ 21 октября 2010

вам нужно будет добавить% 20 ​​вместо пробела, однако браузер сделает это за вас, я бы предпочел не иметь пробелов в URI

0 голосов
/ 21 октября 2010

Может сделать это, но, видимо, это плохой стиль.

См. Следующее: http://www.blooberry.com/indexdot/html/topics/urlencoding.htm

0 голосов
/ 21 октября 2010

Я считаю, что во многих браузерах пробелы в URL-адресах заменяются знаком% 20.

...