Faiz kodlaşdırması nədir?+−
Faiz kodlaşdırması (URL kodlaşdırması da adlanır) bir simvolu % işarəsi və onun UTF-8 təsvirinin hər baytı üçün təkrarlanan iki rəqəmli onaltılıq dəyəri ilə əvəz edir. Bu sayədə bir URL boşluğu (%20), & işarəsini (%26) və ya emoji-ni, bu simvolları URL-in öz sintaksisi ilə qarışdırmadan daşıya bilir.
encodeURIComponent ilə encodeURI arasında fərq nədir?+−
encodeURIComponent kiçik bir ayrılmamış simvollar toplusu istisna olmaqla hər şeyi kaçırır, bu da onu tək bir dəyər - sorğu parametri və ya yol seqmenti - üçün doğru seçim edir, çünki əks halda URL strukturu kimi oxunacaq & və = kimi simvolları da kaçırır. encodeURI isə bütün bir URL üçün nəzərdə tutulub: URL-in işləməyə davam etməsi üçün :, /, ?, & və # kimi struktur simvollarını olduğu kimi saxlayır və yalnız URL-in həqiqətən daşıya bilmədiyi, boşluq kimi simvolları kaçırır. Bütün URL-i encodeURIComponent-dən keçirmək onu sındırır, çünki bu, kəsr xətləri və iki nöqtəni də kaçıracaq.
escape() və unescape()-dən hələ də istifadə etməliyəmmi?+−
Xeyr. Hər ikisi encodeURIComponent-i də təqdim edən ilk JavaScript standartı nəşrində köhnəlmiş elan edilib, çünki escape() qeyri-ASCII simvolları HTTP və müasir URL-lərin gözlədiyi kimi kodlaşdırmır - Latin-1-dən kənar hər şey üçün decodeURIComponent-in geri oxuya bilmədiyi qeyri-standart %uXXXX formasından istifadə edir. Bu alət bu seçimi yalnız köhnə bir sistemin nə yaratdığını yoxlaya bilməniz üçün saxlayır.
Sorğu sətrindəki + niyə boşluğa çevrilir?+−
Sorğu sətirləri tarixən HTML forma göndərişlərindən gəlir, bunlar application/x-www-form-urlencoded formatından istifadə edir: bu, həqiqi boşluğu %20 əvəzinə + kimi kodlaşdırır və bu alətin ayrıştırıcısı (həmçinin JavaScript-in URLSearchParams-ı) deşifrə edərkən hər ikisini boşluq kimi qəbul edir. Əgər bir dəyərdə həqiqətən hərfi plus işarəsi lazımdırsa, onun özü %2B kimi faiz kodlaşdırılmalıdır.
?tag=a&tag=b kimi təkrarlanan parametrlə nə baş verir?+−
Heç nə itmir - bu alət hər təkrarı, sırasıyla, sorğu parametrləri cədvəlində öz sətri kimi saxlayır, məhz əksər server çərçivələrinin təkrarlanan açarı siyahıya toplaması kimi. Bir sətri redaktə etmək və ya silmək digərlərinə təsir etmir.
Ayrıştırıcı niyə URL-im üçün https:// qəbul etdi?+−
example.com/yol kimi bir sətrin protokolu yoxdur, ona görə nə brauzer, nə də bu alət onun veb ünvanı, başqa bir protokol üçün nəzərdə tutulmuş, yoxsa sadəcə mətn olduğunu bilə bilmir. Onu rədd etmək əvəzinə, ayrıştırıcı https://-i qəbul edir ki, siz yenə də onu yoxlaya və redaktə edə biləsiniz - bu hər dəfə baş verdikdə bir ipucu görünür və başqa bir sxem nəzərdə tutulubsa, Protokol sahəsini düzəldə bilərsiniz.