Когато предавате информация през URL, низът трябва да използва само определени разрешени символи. Тези разрешени знаци включват азбучни знаци, цифри и няколко специални знака, които имат значение в низа на URL адреса. Всички други знаци, които трябва да бъдат добавени към URL, трябва да бъдат кодирани, така че да не създават проблеми по време на пътуването на браузъра за намиране на страниците и ресурсите, които търсите.
Кодиране на URL адрес
Кодирането просто взема специален символ и го заменя с кодираната алтернатива. Низът изглежда разхвърлян, но резултатът е лесен за четене от компютрите и няма да рискувате погрешно насочване на URL.
Например, свързване към файл със заглавие моята автобиография.pdf изисква URL кодиране, за да побере пространството между моя и продължи. Резултатът е my% 20resume.pdf. Без кодирането на символа за интервал, уеб браузърът ще приеме, че URL адресът завършва в края на думата моя, с резюме.pdf се изхвърлят като излишни данни. В такава ситуация никога няма да намерите файла си!
Какво трябва да се кодира?
Всеки символ, който не е азбучен знак, число или специален знак, който се използва извън нормалния му контекст, трябва да бъде кодиран на вашата страница. По-долу е дадена таблица с често срещани знаци в URL адресите и тяхното кодиране:
Кодиране на URL на запазени символи
Характер | Предназначение в URL | Кодиране |
: | Отделен протокол (http) от адрес | % 3B |
/ | Отделен домейн и директории | % 2F |
# | Отделни котви | %23 |
? | Отделен низ за заявка | % 3F |
& | Отделни елементи на заявката | %24 |
@ | Разделете потребителското име и паролата от домейна | %40 |
% | Показва кодиран знак | %25 |
+ | Показва интервал | % 2B |
Не се препоръчва в URL адреси | % 20 или + |
Тези кодирани примери са различни от това, което откривате HTML специални знаци. Например, за да кодирате URL адрес с знак амперсанд, използвайте %24. В HTML обаче използвайте и двете & или &, и двете биха изписали амперсанда в HTML страницата.
Тези различни схеми за кодиране не са толкова противоречиви, колкото изглеждат. Единият набор управлява URL адресите, докато другият управлява съдържанието на страницата, към която URL адресът сочи.