URL'lerin Neden Özel Karakter Kodlamasına İhtiyacı Var

URL'ler, HTTP protokolü kullanılarak ağlar üzerinden iletilir. HTTP spesifikasyonu (ve onun öncülü olan internet protokolü standartları), URL'leri US-ASCII karakterlerinden oluşan bir alt kümeyle, özellikle de bayt değerleri 0x21 ile 0x7E arasında olan karakterlerle sınırlar.
Bu aralığın dışındaki karakterler (boşluklar, aksanlı karakterler (é, ñ, ü), Çince/Japonca/Korece karakterler ve birçok simge dahil) kodlamasız URL'lerde güvenli değildir.
Neden özellikle boşluk bırakalım? HTTP, istek satırında yöntem, URL ve protokol sürümü arasında sınırlayıcı olarak boşlukları kullanır:
GET /search?q=hello world HTTP/1.1Sunucu, "merhaba"yı URL'nin sonu olarak ve "dünya"yı HTTP sürüm dizesinin geçersiz bir parçası olarak görüyor. URL bozuk.
Çözüm: Yüzde kodlama (RFC 3986'da tanımlanmıştır), güvenli olmayan karakterleri güvenli bir %XX notasyonuna dönüştürür; burada XX, onaltılık bayt değeridir.
Yüzde Kodlama Nasıl Çalışır?


UTF-8'deki her karakter bir ila dört bayttır. Yüzde kodlaması, her baytı % ve ardından iki onaltılık rakama dönüştürür:
| Karakter | UTF-8 Bayt | Yüzde Kodlanmış |
|---|---|---|
| Boşluk | 0x20 | %20 |
| # | 0x23 | %23 |
| & | 0x26 | %26 |
| = | 0x3D | %3D |
| / | 0x2F | %2F |
| é | 0xC3 0xA9 | %C3%A9 |
| 中 | 0xE4 0xB8 0xAD | %E4%B8%AD |
https://example.com/搜索 gibi Çince karakterler içeren bir URL şu şekilde olur: https://example.com/%E6%90%9C%E7%B4%A2
Ayrılmış Karakterler ve Ayrılmamış Karakterler

Ayrılmamış karakterler (bunları asla kodlamayın): A-Z a-z 0-9 - _ . ~ Bunlar tüm URL bağlamlarında güvenlidir ve her zaman kodlanmamış görünmelidir.
Ayrılmış karakterler (sınırlayıcı olarak değil, veri olarak kullanıldığında kodlayın): : / ? # [ ] @ ! $ & ' ( ) * + , ; = Bu karakterlerin URL'lerde özel anlamı vardır. Bir sorgu parametresi değerinde gerçek veri olarak göründüklerinde bunları kodlayın.
Örnek — arama sorgusu URL'si:
https://example.com/search?q=cats&dogs
Bu belirsiz; sorgu "kediler" mi yoksa "kediler ve köpekler" mi? Kodlamayla:
https://example.com/search?q=cats%26dogsArtık ve işareti sorgu parametresi ayırıcısı olarak değil veri olarak kodlanıyor.
ToolDolfen'de URL'leri Kodlama ve Kod Çözme

- URL Kodlayıcı ve Çözücü (URL Encoder) açın.
- Kodlamak için: Özel karakterler içeren bir URL veya URL bileşeni yapıştırın. Kodla'yı tıklayın.
- Kodu çözmek için: İnsanların okuyabileceği orijinali görmek için yüzde olarak kodlanmış bir URL veya dize yapıştırın.
Araç hem tam URL'leri hem de URL bileşenlerini (bireysel sorgu parametresi değerleri) yönetir. Tam URL kodlaması için yalnızca ayrılmamış karakterler kodlanır; bileşen kodlaması için ayrılmış karakterler de kodlanır.
Önerilen Yardımcı Kılavuzlar
Dijital iş akışınızı geliştirmek için bu konu kümesindeki tamamlayıcı eğitimleri ve yardımcı programları keşfedin: