URL kodlayıcısı

2 reytinqdən 5

URL kodlayıcısı sətri URL sorğu parametrlərində və mətn əsaslı digər veb verilənlərində istifadə olunan forma kodlaşdırması formatına çevirən pulsuz alətdir.

URL kodlaşdırması nədir və nə üçün istifadə olunur?

URL kodlaşdırması URL daxilində xüsusi məna daşıyan simvolları faiz işarəsi və ondan sonra gələn onaltılıq rəqəmlərlə əvəz edir. Bununla mətn yalnız məhdud simvol dəstini qəbul edən sistemlərdən keçirilə bilir.

Məsələn, ampersand işarəsi sorğu parametrlərini bir-birindən ayırır. Buna görə də dəyərin daxilindəki ampersand %26 kimi kodlaşdırılmalıdır. Boşluqlar da xüsusi qaydada işlənir. Bu alət PHP-nin urlencode funksiyasından istifadə edir və boşluğu üstəgəl işarəsinə çevirir.

Əvvəl: tea and cake

Sonra: tea+and+cake

URL ilə kodlaşdırılmış mətnə bu yerlərdə rast gələ bilərsən:

  • veb formaları vasitəsilə göndərilən sorğu sətirlərində;
  • olduğu kimi yazılması mümkün olmayan mətn saxlayan data URI-lərində;
  • e-poçt mesajlarına əlavə edilən keçidlərdə;
  • JSON məlumat paketlərində saxlanılan URL dəyərlərində;
  • veb tətbiqlərinin yönləndirmə və geri çağırış parametrlərində;
  • beynəlmiləlləşdirilmiş domenlərlə əlaqəli URL-lərdə, lakin domen adının özü faiz kodlaşdırması əvəzinə Punycode tələb edə bilər.

URL kodlaşdırması şifrələmə deyil və məlumatı məxfi saxlamır. Faizlə kodlaşdırılmış URL dəyərini görən hər kəs onu dekodlaşdıra bilər.

URL kodlayıcısından necə istifadə edə bilərəm?

Kodlaşdırılacaq sətri daxil et, aləti işə sal və çevrilmiş dəyəri URL kodlaşdırılıb nəticə sahəsində oxu. Dırnaq işarələrini və ya izahlı mətni deyil, yalnız dəyərin özünü kodlaşdır.

Emal serverdə aparılır. Daxil etdiyin məlumat HTTPS üzərindən serverə göndərilir və saxlanılmır. Bununla belə, parolları, sessiya tokenlərini və məxfi şəxsi məlumatları URL-lərə daxil etmə. Veb ünvanları brauzer tarixçəsində, analitika sistemlərində və server jurnallarında görünə bilər.

Əməliyyatı geri qaytarmaq üçün URL dekoderindən istifadə et. Hər iki istiqamətdə eyni simvol kodlaşdırması və forma kodlaşdırması qaydaları tətbiq olunarsa, düzgün dekodlaşdırılmış dəyər ilkin mətnlə eyni olmalıdır.

Bütün URL-ni, yoxsa yalnız parametr dəyərini kodlaşdırmalıyam?

Adətən bütün URL-ni deyil, hər parametrin dəyərini ayrıca kodlaşdırmalısan. Ünvanın bütövlükdə kodlaşdırılması iki nöqtə, düz kəsr xətləri, sual və bərabərlik işarələri kimi struktur simvollarını da əvəz edər.

Tutaq ki, axtarış dəyəri green tea & coffee şəklindədir. Onun kodlaşdırılmış forması green+tea+%26+coffee olur və parametr adından sonra yerləşdirilə bilər. Bütün ünvanı kodlaşdırmaq brauzerin sxemi, hostu, yolu və sorğu sətrini tanıması üçün lazım olan ayırıcıları gizlədər.

Bu alətdə istifadə olunan urlencode HTML forması üslubundakı sorğu parametrləri üçün uyğundur. Bəzi API-lər və yol seqmentləri isə RFC 3986 qaydalarına əməl edir. Bu halda boşluq + deyil, %20 kimi yazılır. Qəbul edən sistemin + işarəli forma kodlaşdırmasını, yoxsa RFC 3986 üslubunda %20 formatını gözlədiyini yoxla.

URL kodlaşdırması nümunələri

ASCII hərfləri və rəqəmləri oxunaqlı qalır. Boşluqlar üstəgəl işarəsinə çevrilir, rezerv edilmiş durğu işarələri və ASCII dəstinə daxil olmayan mətn isə kodlaşdırılmış baytlarla göstərilir.

  • hello world dəyəri hello+world olur.
  • tea & cake dəyəri tea+%26+cake olur.
  • email=test@example.com dəyəri email%3Dtest%40example.com olur.
  • 100% ready dəyəri 100%25+ready olur.
  • Mənbə mətn UTF-8 istifadə etdikdə café dəyəri caf%C3%A9 olur.

Diakritik işarəli hərflər və latın qrafikasına aid olmayan yazılar əvvəlcə simvol kodlaşdırması ilə baytlara çevrilir. Vebdə bunun üçün adətən UTF-8 istifadə olunur. İcazə verilən dəstdən kənardakı hər bayt daha sonra ayrıca faiz kodu alır. Buna görə bir görünən simvol % ilə başlayan bir neçə qrup yarada bilər.

Rəqəmlərin xüsusi işlənməsinə ehtiyac yoxdur. Boş giriş kodlaşdırılmış məzmun yaratmır. Hər kodlaşdırılmış bayt üç simvol tutduğuna görə çox uzun girişin həcmi xeyli arta bilər.

URL dekodlaşdırması niyə işləmir və ya anlaşılmaz mətn yaradır?

Dekodlaşdırma adətən girişin fərqli qaydalarla və ya bir dəfədən çox kodlaşdırılması, yaxud gözlənilən simvol dəstindəki mətni təmsil etməməsi səbəbindən uğursuz olur.

  • Boşluqların fərqli işlənməsi. Forma dekoderi + işarəsini boşluq kimi qəbul edir, ciddi faiz dekoderi isə onu üstəgəl işarəsi kimi saxlaya bilər.
  • İkiqat kodlaşdırma. %26 daxilindəki faiz işarəsinin özü %25 formasına çevrilərək %2526 yarada bilər. Bu halda bir dəfə dekodlaşdırma ilkin ampersand əvəzinə %26 qaytarır.
  • Yanlış simvol kodlaşdırması. Başqa simvol dəsti kimi dekodlaşdırılan UTF-8 baytları əvəzedici simvollar və ya pozulmuş hərflər yarada bilər.
  • Mətn əvəzinə binar verilənlər. Dekodlaşdırılmış baytlar şəkil, arxiv və ya başqa fayl ola bilər. Onları mətn kimi göstərdikdə anlaşılmaz nəticə alınır.
  • Yanlış format və ya əlifba. URL üçün təhlükəsiz Base64, standart Base64 və faiz kodlaşdırması fərqli formatlardır. Base64 mətninə URL dekoderi tətbiq etməklə nəzərdə tutulan dəyəri bərpa etmək mümkün deyil.

URL kodlaşdırmasında doldurma simvolları yoxdur. Dekoder çatışmayan doldurma barədə xəta göstərirsə, giriş çox güman ki, faizlə kodlaşdırılmış mətn deyil, Base64 və ya doldurma istifadə edən başqa formatdır.

Tez-tez verilən suallar

Faiz kodlarında böyük və kiçik hərflər eyni sayılır?

Bəli. Faiz kodlarındakı onaltılıq hərflər registrdən asılı deyil. Buna görə %2F və %2f eyni düz kəsr xəttini ifadə edir. Yazılışın ardıcıl olması üçün böyük onaltılıq hərflərdən istifadə tövsiyə olunur.

URL kodlaşdırması beynəlxalq domen adını çevirə bilər?

Xeyr. Tərkibində é olan ad kimi domen etiketləri adətən Beynəlmiləlləşdirilmiş Domen Adı emalından keçirilməli və xn-- ilə başlayan ASCII Punycode formasına çevrilməlidir. Faiz kodlaşdırması URL-nin digər komponentləri üçün istifadə olunur və bu çevirmənin əvəzi sayılmamalıdır.

Sətirsonu və tab simvollarına nə olur?

Tab və sətirsonu baytları adi URL dəyərində olduğu kimi yazıla bilmədiyindən faizlə kodlaşdırılır. Tab adətən %09 kimi göstərilir. Sətir sonlarının kodlaşdırılması isə mənbənin LF və ya CRLF simvollarından istifadə etməsindən asılıdır.

Kodlaşdırılmış URL-ni tətbiqə yapışdıranda niyə yenə işləmir?

Tətbiq emal olunmamış dəyər gözləyə və kodlaşdırmanı özü apara bilər. Bu isə ikiqat kodlaşdırmaya səbəb olur. Tətbiq həmçinin ümumi uzunluq məhdudiyyətinə görə və ya rezerv edilmiş simvol ünvanın struktur hissəsində kodlaşdırıldığı üçün URL-ni rədd edə bilər. Kodlaşdırmadan əvvəl tətbiqin konkret olaraq hansı komponenti istədiyini yoxla.

Kodlaşdırılmış sorğu sətri məlumatlarını paylaşmaq təhlükəsizdir?

Xeyr. URL faiz kodlaşdırması yalnız məlumatın təqdimat formasını dəyişir. Brauzerlər və proqramçı alətləri ilkin dəyəri göstərə bilər. Keçidi paylaşmazdan əvvəl sorğu parametrlərində e-poçt ünvanları, hesab identifikatorları, giriş tokenləri və açıqlanmamalı digər məlumatların olub-olmadığını yoxla.

Oxşar alətlər

URL dekoderi

URL daxilini yenidən normal sətirə dekod edin.

4,611
60

Populyar alətlər