URL Kodlash va Dekodlash

Havoladagi %20, %3A kabi belgilarni odam o'qiydigan holatga keltiring — yoki aksincha. So'rov parametrlari alohida ajratib ko'rsatiladi.

Yo'nalish
Nimani

Oddiy matn

Kodlangan natija

Kodlangan natija shu yerda ko'rinadi

URL kiriting yoki fayl yuklang

URL kodlash qanday ishlaydi

URL faqat cheklangan belgilar to'plamidan iborat bo'lishi mumkin. Qolgani foiz belgisi va ikkita o'n oltilik raqam bilan yoziladi: bo'sh joy — %20, kirill harfi esa bir necha baytga aylanadi. Muhimi — qaysi belgilar tuzilmani tashkil qiladi va shuning uchun tegilmasligi kerak.

Qiymat (encodeURIComponent)

Bitta parametr qiymati yoki yo'l bo'lagi uchun. Ajratuvchi belgilar — : / ? # & = — ham kodlanadi, chunki bu yerda ular matn, tuzilma emas. Formalar standarti bo'lgani uchun bo'sh joy + bo'lishi ham mumkin.

hello world → hello%20world

To'liq URL (encodeURI)

Butun manzil uchun. Tuzilmani tashkil qiluvchi belgilar o'z joyida qoladi, faqat noto'g'ri belgilar — masalan bo'sh joy — kodlanadi. Havolangizdagi bo'sh joyni tuzatmoqchi bo'lsangiz, shu kerak.

https://a.uz/q?s=hello world → https://a.uz/q?s=hello%20world

Qaysi belgi qachon o'zgaradi

BelgiQiymat sifatidaTo'liq URL sifatida
bo'sh joy%20%20
:%3A:
/%2F/
?%3F?
#%23#
&%26&
=%3D=
+%2B+
@%40@

Farq aynan shu jadvalda: qiymat rejimida ajratuvchilar kodlanadi, to'liq URL rejimida esa saqlanadi. Shuning uchun to'liq URL ustidan qiymat kodlashni ishlatish havolani buzadi — u faqat boshqa URL ichiga joylashtirilsa to'g'ri bo'ladi.

Ko'p so'raladigan savollar

Qiymat va To'liq URL rejimlari nima bilan farq qiladi?

Bu ikki xil standart. Qiymat rejimi (encodeURIComponent) : / ? # & = belgilarini ham kodlaydi — bitta parametr qiymati yoki yo'l bo'lagi uchun to'g'ri. To'liq URL rejimi (encodeURI) ularni saqlaydi va faqat noto'g'ri belgilarni kodlaydi. To'liq havolaga qiymat rejimini qo'llasangiz, https://... o'rniga https%3A%2F%2F... chiqadi — bu havola ishlamaydi, u faqat boshqa URL ichiga qiymat sifatida solinsa ma'noga ega.

Nega + belgisi ba'zan bo'sh joyga aylanadi?

Forma ma'lumotlari (application/x-www-form-urlencoded) bo'sh joyni + bilan yozadi. Shuning uchun Qiymat rejimida dekodlashda + bo'sh joyga aylantiriladi — brauzer manzil satridan nusxa olingan so'rov satrlari aynan shunday. Haqiqiy plyus belgisi kerak bo'lsa, u %2B bo'lib kodlanadi. To'liq URL rejimida esa + tegilmaydi, chunki yo'lda u oddiy belgi.

Qachon URL kodlash kerak?

Har qanday qiymat URL ichiga qo'yilganda: qidiruv so'rovi, email manzili, boshqa havola, foydalanuvchi kiritgan matn. Kodlanmagan & yoki = parametrlar chegarasini buzadi, bo'sh joy esa havolani ba'zi joylarda kesib qo'yadi. Bu shifrlash emas — hech narsani yashirmaydi, faqat matnni URL tuzilmasidan ajratadi.

Ma'lumotim serverga yuboriladimi?

Yo'q. Kodlash ham, dekodlash ham, URL tahlili ham brauzeringizda bajariladi. Sahifa yuklangandan keyin bu asbob hech qanday tarmoq so'rovi yubormaydi, shuning uchun tokenli havolalar bilan ham xavfsiz ishlatiladi.