URL Kodlash va Dekodlash
Havoladagi %20, %3A kabi belgilarni odam o'qiydigan holatga keltiring — yoki aksincha. So'rov parametrlari alohida ajratib ko'rsatiladi.
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%20worldTo'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%20worldQaysi belgi qachon o'zgaradi
| Belgi | Qiymat sifatida | To'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.