Сврха и функција URL кодирања и декодирања
URL кодирање, познато и као процентуално кодирање (енгл. percent-encoding), јесте механизам за превођење произвољних података унутар URI (Uniform Resource Identifier) структура. Овај процес је неопходан јер су одређени знакови унутар URL адреса резервисани за посебне намене (на пример, знакови /, ?, :, & и =). Када се ови знакови користе као део корисничког уноса, а не као структурни елементи адресе, они морају бити кодирани како би се спречило погрешно тумачење на веб серверу.
Процес се изводи тако што се знакови који нису безбедни за URL преводе у њихов одговарајући бајтовски запис у UTF-8 формату, а затим се сваки бајт представља као знак процента (%) праћен двоцифреном хексадецималном вредношћу. На пример, размак се кодира као %20, док се знак амперсенд (&) преводи у %26. Декодирање је обрнут процес, где се процентуални записи враћају у свој оригинални текстуални облик ради лакшег читања и даље обраде.
Разлика између кодирања компоненте и потпуне URL адресе
Приликом рада са URL адресама, веома је важно разликовати опсег кодирања у зависности од тога да ли се третира цела адреса или само један њен део. Овај алат омогућава избор између две опције кроз контролу опсега:
- Компонента (користи JavaScript функције
encodeURIComponentиdecodeURIComponentу позадини). Овај режим је намењен за кодирање појединачних вредности упита, делова путање или вредности образаца. У овом режиму, сви знакови са посебним значењем у URL-у (укључујући:,/,?,&,=) биће кодирани. На пример, уносhello world & city=上海постајеhello%20world%20%26%20city%3D%E4%B8%8A%E6%B5%B7. - Потпуна URL адреса (користи JavaScript функције
encodeURIиdecodeURIу позадини). Овај режим се користи када желите да кодирате целу адресу, али тако да структурни знакови попут:,/,?,&и=остану нетакнути и читљиви. На тај начин адреса задржава своју функционалност и исправну структуру у веб прегледачу, док се несигурни знакови и не-ASCII знакови (попут ћирилице или кинеских карактера) безбедно кодирају.
Када је изабран режим за HTML ентитете, контрола опсега URL адресе се аутоматски скрива јер се правила опсега односе искључиво на URL протоколе.
Сврха и функција маскирања HTML ентитета
HTML ентитети се користе за представљање знакова који имају посебно значење у HTML језику или се не могу лако откуцати на стандардној тастатури. Маскирање (енгл. escaping) претвара знакове као што су <, >, &, наводнике и не-ASCII текст у ентитете који се могу безбедно налепити у HTML текст или атрибуте.
На пример, ако желите да прикажете код <div> на веб страници, а да га прегледач не протумачи као стварни HTML таг, знак < мора бити маскиран у <, а знак > у >. Слично томе, знак & постаје &. Демаскирање (енгл. unescaping) ради супротно: претвара ове кодиране записе назад у оригиналне знакове ради приказа или уређивања. Овај процес омогућава програмерима, уредницима садржаја и техничкој подршци да безбедно уграђују текстуалне сегменте у HTML структуре без ризика од нарушавања изгледа или функционалности странице.
Процентуално кодирање и UTF-8 захтеви
Процентуално кодирање се стриктно ослања на UTF-8 стандард за кодирање карактера. Сваки знак који се не налази у групи дозвољених ASCII знакова мора се најпре претворити у низ бајтова према UTF-8 спецификацији, а затим се сваки бајт кодира појединачно.
Због овог правила, декодирање захтева потпуне и исправне UTF-8 секвенце. Ако је секвенца прекинута или некомплетна, процес декодирања не може да се изврши. На пример, оштећена секвенца попут %E0%A4%A представља неисправан запис јер јој недостају бајтови за комплетирање UTF-8 карактера. У таквим ситуацијама, алат не може да изврши конверзију и приказаће грешку која указује на неисправан унос.
Разлика између кодирања/маскирања и безбедносне санитације
Веома је важно разумети разлику између кодирања (или маскирања) и безбедносне санитације (енгл. security sanitization).
- Кодирање и маскирање су двосмерни процеси превођења формата. Њихов циљ је искључиво очување интегритета података при преносу кроз различите системе (нпр. слање података кроз URL или приказ специјалних знакова у HTML-у). Подаци се не мењају суштински и могу се у потпуности вратити у првобитно стање.
- Санитација је деструктивни безбедносни процес чији је циљ уклањање потенцијално злонамерног кода (као што су скрипте код Cross-Site Scripting нападима) из корисничког уноса. Санитација активно брише или модификује делове текста како би га учинила безбедним за извршавање и често је неповратна.
Овај алат служи искључиво за кодирање, декодирање, маскирање и демаскирање података, те га не треба користити као замену за системе безбедносне санитације на серверској страни.
Правила обраде и ограничења алата
Алат ради под дефинисаним техничким правилима и ограничењима како би се обезбедио стабилан рад у прегледачу:
- Максимална величина уноса: Алат подржава унос до максимално 2.000.000 знакова. Ако унесени текст прелази ову границу, приказаће се порука: „Унос је превелики за овај алат. Нека буде краћи од
{max}знакова.“. - Контрола празног уноса: Ако покушате да покренете конверзију без претходно унетог текста, алат ће приказати обавештење: „Прво налепите неки унос.“.
- Временско ограничење: У случају да је унос превелик или превише сложен за брзу обраду, те конверзија траје превише дуго, систем ће прекинути процес уз поруку: „Ова конверзија траје превише времена. Покушајте са мањим уносом.“.
- Општа грешка при конверзији: Ако процес не успе из било ког другог техничког разлога, корисник ће видети поруку: „Није могуће конвертовати овај унос.“.
- Информације о величини: Након сваке успешне операције, алат приказује статистику у пољима „Улаз“ и „Излаз“ са тачним бројем знакова за оба поља.
Приватност и локална обрада података
Ваша приватност је у потпуности заштићена током коришћења овог алата. Сав унесени URL и HTML текст се конвертује локално, директно у вашем веб прегледачу. Ништа се не шаље на сервере BroBroGo. Подаци не напуштају ваш уређај, што омогућава брз рад без преноса информација преко мреже.
Често постављана питања (FAQ)
Да ли треба да изаберем компоненту URL адресе или потпуну URL адресу?
Користите опцију „Компонента“ за вредности упита, делове путање или вредности образаца. Користите „Потпуна URL адреса“ када желите да знакови попут: /? & = остану читљиви.
Шта мења маскирање HTML ентитета?
Претвара знакове као што су <, >, &, наводнике и не-ASCII текст у ентитете који се могу безбедно налепити у HTML текст или атрибуте.
Зашто декодирање URL адресе понекад не успева?
Процентуално кодирање мора бити у потпуним UTF-8 секвенцама. Оштећена секвенца попут %E0%A4%A не може се декодиратина без нагађања.
Где се одвија конверзија мојих података?
Ваш URL и HTML текст се конвертују у вашем прегледачу. Ништа се не шаље на BroBroGo, што значи да се комплетан процес обраде дешава локално на вашем уређају.