URL parametresi olarak Alman klavyemdeki mevcut tüm karakterlerle web sitemi (apache) isteyerek test ettim:
http://example.com/?^1234567890ß´qwertzuiopü+asdfghjklöä#<yxcvbnm,.-°!"§$%&/()=? `QWERTZUIOPÜ*ASDFGHJKLÖÄ\'>YXCVBNM;:_²³{[]}\|µ@€~
Bunlar kodlanmamıştır:
^0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,.-!/()=?`*;:_{}[]\|~
Sonra kodlanmadı urlencode()
:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_
Sonra kodlanmadı rawurlencode()
:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_~
Not: PHP 5.3.0'dan önce RFC 1738 nedeniyle rawurlencode()
kodlanmıştır . Ancak bu RFC 3986 ile değiştirildi, bu yüzden şimdi kullanımı güvenlidir. Ancak, örneğin neden kodlandığını anlamıyorum çünkü RFC 3986'da belirtilmemişlerdir.~
{}
rawurlencode()
Yaptığım ek bir test, posta metinlerinde otomatik bağlantı ile ilgili idi. Mozilla Thunderbird, aol.com, outlook.com, gmail.com, gmx.de ve yahoo.de'yi test ettim ve bu karakterleri içeren URL'leri tamamen bağladılar:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_~+#,%&=*;:@
Tabii ki de ?
bağlantılıydı, ancak sadece bir kez kullanıldıysa.
Bazı insanlar şimdi yalnızca rawurlencode()
karakterleri kullanmanızı önerir , ancak birisinin bu web sitelerini açmakta sorun yaşadığını hiç duydunuz mu?
Yıldız işareti
http://wayback.archive.org/web/*/http://google.com
İki nokta üst üste
https://en.wikipedia.org/wiki/Wikipedia:Hakkında
Artı
https://plus.google.com/+google
İşarette, İki Nokta, Virgül ve Ünlem işareti
https: //www.google.com/maps/place/USA/@36.2218457, ...
Bu nedenle bu karakterlerin sorunsuz bir şekilde kodlanmamış kullanılabilmesi gerekir. Tabii ki &;
kodlama dizileri nedeniyle kullanmamalısınız &
. Aynı neden, %
genel olarak karakterleri kodlamak için kullanıldığı için de geçerlidir . Ve =
parametre adına bir değer atar.
Sonunda bu kodlanmamış kullanmak için ok söyleyebilirim:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_~!+,*:@
Ancak rastgele oluşturulmuş URL'ler bekliyorsanız kullanmamalısınız .!
, çünkü bunlar bir cümlenin sonunu işaretler ve bazı posta uygulamaları URL'nin son karakterini otomatik olarak bağlamaz. Misal:
Visit http://example.com/foo=bar! !
!*'();:@&=+$,/?#[]
veya korunmamışA-Za-z0-9_.~-
(veya%
yüzde kodlamasının bir parçası olarak yüzde karakteri )