URL Kodlayıcı ve Çözücü
Bir URL'yi sorgu dizelerinde ve formlarda doğru çalışması için yüzde kodlayın veya geri çözün — anında.
Metniniz cihazınızda kalır
Sonradan silinecek bir şey yok
Belirteç taşıyan URL’ler için güvenli
Her modern tarayıcıda çalışır
Nasıl çalışır
- 1
Metninizi ya da URL’nizi yapıştırın
Kodlanacak bir parametre değeri ya da geri okunacak yüzde kodlu bir dize.
- 2
Nereye gittiğini seçin
Bütün bir URL mi, yoksa bir URL’nin içinde duran tek bir bileşen mi — kurallar farklıdır.
- 3
Sonucu kopyalayın
Bir bağlantıya, bir isteğe, bir yönlendirme hedefine ya da bir yapılandırma değerine taşıyın.
Neden bu araç
Bileşen ve tam URL kipleri
Tek bir parametre değerini ya da bütün bir adresi kodlayın — kuralları farklıdır ve onları karıştırmak alışıldık hatadır.
Boşluk açıkça ele alınır
`%20` ya da `+` seçin, çünkü bir sorgu dizesiyle bir yol parçası hangisinin boşluk demek olduğunda anlaşamaz.
Çift kodlamadan kaçınılır
Zaten kodlanmış girdi tanınır, böylece `%20` sessizce `%2520` olmaz.
UTF-8 düzgün yapılır
Türkçe, Arapça ve şapkalı karakterler bozuk çıktı yerine doğru bayt dizilerine dönüşür.
Hiçbir şey yüklenmez
Dönüştürme tarayıcınızda olur — oturum belirteci taşıyan bir URL hiçbir sunucuya ulaşmaz.
Ücretsiz, hesapsız
Kayıt yok, filigran yok, ne kadar dönüştüreceğinize dair sınır yok.
Tek bir “URL kodlaması” yoktur — iki tane vardır ve anlaşamazlar
Bu görev etrafındaki kafa karışıklığının çoğunu çözen olgu budur. Bütün bir URL’yi kodlamakla bir URL’nin içine giren bir parçayı kodlamak, kuralları farklı iki ayrı işlemdir ve yanlışını kullanmak bir bağlantının bozulmasının en yaygın yoludur. Tam bir adresin `/`, `?`, `&`, `#` ve `:` karakterlerine dokunulmaması gerekir, çünkü adrese biçimini veren noktalama onlardır. Tek bir değerin — bir arama terimi, bir yönlendirme hedefi, bir parametredeki dosya adı — tam da o karakterlerin kaçırılmasına ihtiyacı vardır, çünkü bir değerin içinde onlar yapı değil veridir. Bütün bir URL’yi bileşen kurallarıyla kodlayın, kullanılamaz bir `%2F` ve `%3A` dizisi elde edersiniz. Bir bileşeni tam URL kurallarıyla kodlayın, değerinizdeki eğik çizgi sessizce bir yol ayırıcısına dönüşür. Başlamadan önce hangisini yaptığınıza karar verin.
Adreste nerede olduğunuz neyin kaçırılacağını belirler
Bu yukarıdakinden çıkar ve doğrudan söylenmeye değer, çünkü tutarsız görünen durumları açıklar. Yol içindeki bir eğik çizgi ayırıcıdır ve eğik çizgi kalmalıdır; bir sorgu parametresi değerindeki eğik çizgi yalnızca bir karakterdir ve kalabilir de, gerçi kaçırmak daha güvenlidir. Yoldaki bir soru işareti sorgu dizesini başlatır; aynı karakter bir parametre değerinin içinde `%3F` olmalıdır, yoksa ondan sonraki her şey ek parametre diye okunur. Bir değerin içindeki ve işareti en keskin durumdur: ham bırakın, değer ikiye bölünür ve “R&D” araması `D` adlı bir parametre olarak varır. Taşınacak kural şudur: ayrılmış karakterler ancak işlerini yapabildikleri yerde ayrılmıştır ve bir değerin içinde yapamazlar; orada kaçırılmaları gerekmesinin nedeni tam da budur.
Artı işareti iki farklı anlama gelir ve ikisi de doğrudur
Boşluk, herkesin ilk karşılaştığı ve tarihi en dağınık olan karakterdir. Yüzde kodlaması boşluğun `%20` olduğunu söyler ve bir yol parçasında tek doğru yanıt budur — yoldaki düz bir `+` yalnızca artı işaretidir. Ama HTML form gönderimi sorgu dizeleri için kendi kodlamasını tanımladı; orada boşluk `+` olur ve düz artı `%2B` yazılmalıdır. İki gelenek de yaşıyor, ikisi de kendi bağlamında doğru ve çözücüler bunlara farklı davranıyor: sorgu dizesi kipindeki bir çözücü `+` işaretini boşluğa çevirir, yol kipindeki ise ona dokunmaz. Artı içeren bir değerin — uluslararası biçimli bir telefon numarası, `name+work@example.com` gibi etiketli bir e-posta adresi — artısı bu kadar sık boşlukla değişmiş olarak varmasının nedeni budur. Değeriniz düz bir artı içerebiliyorsa onu `%2B` olarak kaçırın ve alıcının hangi geleneği seçtiğine bağlı olmaktan kurtulun.
Çift kodlama, gerçekten karşılaşacağınız hatadır
`%` bir kaçış dizisi başlattığı için yüzde işaretinin kendisi de `%25` olarak kodlanmalıdır. Bu tek kural, bütün bu alandaki en yaygın arızayı doğurur. Bir dizeyi iki kez kodlayın, `%20` `%2520` olur; çünkü ilk sonuçtaki `%` ikinci geçişte kaçırılır. Sonuç bir kez çözüldüğünde boşluk yerine — değerinizin ortasında görünür, harfi harfine — `%20` verir. Bu uygulamada sürekli olur: bir URL bir uygulama tarafından kodlanır, sonra ham metin aldığını varsayan bir çerçeve, bir yönlendirme işleyicisi ya da bir bağlantı izleyici tarafından yeniden kodlanır. Belirti, bir yerde çalışan ve başka bir yerde `%2520` ya da `%253A` gösteren bir bağlantıdır. Başka bir kaçış dizisinin önünde oturan bir `25` gördüğünüzde çift kodlamaya bakıyorsunuz demektir ve çözüm iki kez çözmek değil, bir adımı kaldırmaktır.
ASCII dışı karakterler karakter olarak değil bayt olarak kodlanır
Yüzde kodlamasının harf diye bir kavramı yoktur. Baytları kaçırır; bu da ASCII dışındaki her karakterin önce bayta çevrilmesi gerektiği anlamına gelir ve bunun standardı UTF-8’dir. Tek bir Arapça harfin üç kaçış dizisine, bir emojinin dörde dönüşmesinin nedeni budur — onun UTF-8 baytlarının teker teker yazıldığını görüyorsunuz. Bilinmeye değer sonuç şudur: başka bir karakter kümesi kullanan bir kodlayıcı aynı girdi için farklı çıktı üretir; içinde bir ad geçen bir URL’nin bir sistemde çalışıp başkasında 404 döndürmesi böyle olur. İnsanların bununla karıştırdığı ikinci bir mekanizma daha var: ASCII dışı bir alan adı hiç yüzde kodlanmaz, Punycode’a çevrilir; bu, ara sıra gördüğünüz `xn--` öneklerini üreten tümüyle ayrı bir şemadır. Yol ve sorgu yüzde kodlaması kullanır; ana makine adı kullanmaz.
Bu tür metinde yerel kodlama neden önemlidir
İnsanların bir kodlayıcıya yapıştırdığı URL’leri düşünün. Sorgu dizesinde oturum belirteci olan bir geri çağrı adresidir. Süresi dolan bir imza parametresi taşıyan imzalı bir bağlantıdır. Birinin hata ayıkladığı bir parola sıfırlama URL’si, paylaşılan bir sırrı olan bir webhook uç noktası, bir ana makine adını açık eden dahili bir yönetim adresidir. URL’ler sorgu dizelerinde kimlik bilgilerini insanların fark ettiğinden çok daha sık taşır; tam da sorgu dizesi bir sırdan çok yapılandırma gibi göründüğü için. Bunlardan birini barındırılan bir kodlayıcıya yapıştırmak her şeyi üçüncü bir tarafa gönderir ve o URL çalışan bir belirteç içeriyorsa canlı bir kimlik bilgisini az önce paylaşmış olursunuz. Bu araç sayfanın içinde dönüştürür ve hiçbir şey iletmez; bunu geliştirici araçlarının Ağ sekmesinde doğrulayabilirsiniz.
Kaçınılması gereken yaygın hatalar
- Bütün bir URL’yi bileşen kurallarıyla kodlamak. `/` ve `:` `%2F` ve `%3A` olur ve adres adres olmaktan çıkar — tam URL’ler ile içlerindeki değerler farklı kurallar ister.
- Bir parametre değerinin içinde ve işaretini ham bırakmak. Değeri ikiye böler, böylece “R&D” araması `D` adlı fazladan bir parametre olarak varır; onu `%26` olarak kaçırın.
- `+` işaretinin her zaman boşluk demek olduğunu varsaymak. Sorgu dizesinde öyledir, yolda değildir; telefon numarasındaki ya da etiketli e-postadaki düz artı, bağlamdan bağımsız olarak `%2B` yazılmalıdır.
- Zaten kodlanmış bir şeyi kodlamak. `%` işareti `%25` olarak kaçırılır, böylece `%20` `%2520` olur ve boşluk yerine görünür metin olarak çözülür — iki kez çözmek yerine bir adımı kaldırın.
- Bir geri çağrı ya da sıfırlama URL’sini barındırılan bir kodlayıcıya yapıştırmak. Sorgu dizeleri oturum belirteçlerini ve imzaları insanların fark ettiğinden çok daha sık taşır; yerel kodlayın.
Karşılaştırma
| Ölçüt | Bu araç | Çevrimiçi kodlayıcılar | Tarayıcı konsolu |
|---|---|---|---|
| İçerik sunucuya gönderilir | Asla | Genellikle evet | Hayır |
| Bileşen ve tam URL kipleri | İkisi de, açıkça | Çoğu kez yalnızca biri | İki ayrı işlev |
| Boşluk geleneği seçilebilir | Evet | Nadiren | Hayır |
| Çift kodlama saptanır | Evet | Nadiren | Hayır |
| Hesap veya kayıt | Gerekmez | Sık sık istenir | Gerekmez |
| Fiyat | Ücretsiz | Ücretsiz / ücretli paket | Ücretsiz |
Özellikler
Kodlama ve çözme
Her iki yön tek yerde, girdi ve çıktı yan yana.
Tam URL ile bileşen
Birincisi `/`, `?` ve `&` karakterlerini korur; ikincisi kaçırır, çünkü bir değerin içinde onlar veridir.
Boşluk `%20` ya da `+`
Değerin geçtiği bağlamın geleneğine uydurun.
Doğru UTF-8 bayt dizileri
ASCII dışı karakterler, standardın gerektirdiği gibi bayt bayt kodlanır.
Uzun girdiyi kaldırır
Bütün sorgu dizeleri ve uzun yönlendirme zincirleri boyut sınırı olmadan dönüşür.
Bozuk girdi işaretlenir
Başıboş bir `%` ya da eksik bir kaçış dizisi sessizce atılmak yerine bildirilir.
Kurulum gerekmez
Konsol, çalışma ortamı ya da bağımlılık yok — web sayfasında çalışır.
Arapça ve RTL uyumlu
Sağdan sola Arapça dahil sekiz dilde tam arayüz.
Varsayılan olarak güvenli
HTTPS üzerinden sunulur, içerik izleme ve üçüncü tarafa yükleme yoktur.
Kimler kullanıyor
Geliştiriciler
Alıcı sistemin ona ne yaptığından bağımsız olarak sağ çıkan bir sorgu parametresi kurmak.
API entegratörleri
Bir yönlendirme hedefini ya da geri çağrı adresini, onu içeren URL’yi bozmadan kodlamak.
Pazarlamacılar
Değer boşluk, ve işareti ya da Latin dışı metin içerdiğinde kampanya parametrelerini güvenli kılmak.
Destek mühendisleri
Müşterinin verdiği bir bağlantıyı geri okuyup parametrelerin gerçekte ne dediğini görmek.
Sıkça Sorulan Sorular
Hayır. Her şey tarayıcınızda yerel çalışır — metniniz asla yüklenmez, saklanmaz veya paylaşılmaz.
Evet — tamamen ücretsiz, hesap ve sınır yok.