Які спеціальні символи безпечно використовувати в URL?
Які спеціальні символи безпечно використовувати в URL?
Відповіді:
Безпечними символами є az, AZ, 0-9 та _ - (підкреслення та мінус), що крім зарезервованих символів, які використовуються для параметрів.
Інші персонажі будуть створювати проблеми в якійсь мірі. Приклад: якщо один параметр є масивом, ?param=array[content]
тобто показуватиме URL-адресу, котрий зашифровано квадратні дужки, які виглядають некрасиво і неможливо продиктувати.
Але проблема не лише в тому, що це некрасиво, скажімо, у вас є jpg із символом поруч із безпечнішими, багато разів браузер не зможе його завантажити, отримуючи 404. Це проблема старих браузерів та деяких мобільних браузерів.
Як це перевірити?
У мене вхідні 14000 електронних листів, що підтверджують мою думку.
Наступні символи мають особливе значення в компоненті шляху вашої URL-адреси (компонент шляху - це все до '?'):
";" | "/" | "?"
Крім них, наступні символи мають особливе значення у частині запиту вашої URL-адреси (все після '?'). Тому, якщо вони після '?' вам потрібно уникнути їх:
":" | "@" | "&" | "=" | "+" | "$" | ","
Для більш поглибленого пояснення див. RFC .
Відповіді тут хороші, але є ще один виняток, який, на мою думку, варто згадати - неанглійські символи. Посилаючись на це питання SF , такі символи, як ñ (як в Español), є абсолютно законними, якщо вони були правильно закодовані у вашому DNS.
Вам потрібно використовувати Punycode у вашому DNS, щоб дозволити їх розв’язувати у сучасних браузерах (запис для español є xn--espaol-zwa
), але вони тепер цілком безпечні для використання в доменних іменах, оскільки їх легко вводити і немовцям, які не говорять на англійській мові. .