2011-11-03 13 views
14

Czy %3B jest traktowane inaczej niż %3b w adresie URL?Czy wielkość liter w adresach URL jest rozróżniana?

+1

Tak. Czy próbowałeś nawet google? http://www.google.no/search?gcx=w&sourceid=chrome&ie=UTF-8&q=url+encoding+case+sensitive Najwyższy wynik daje dokładnie to, czego chcesz? –

+0

Znalazłem kilka sprzecznych informacji. Myślałem, że zadawanie pytań byłoby najłatwiejszym sposobem wyjaśnienia. – hugomg

+0

Ok. Wierzę, że informacje w linku mówią, że pochodzą z RFC. Ale sposób implementacji jest zawsze tajemnicą dla producentów przeglądarek. ;) –

Odpowiedz

17

Nie, kodowanie procentowe adresu URL NIE rozróżnia wielkości liter. Według RFC 3986:

2.1. Kodowanie procentowe

[...]

dużej litery cyfry szesnastkowe 'A' poprzez 'F' są równoważne cyfr małe 'a' do 'F', odpowiednio. Jeśli dwa identyfikatory URI różnią się tylko w przypadku cyfr szesnastkowych używanych w Oktetach kodowanych procentowo, to są one równoważne.

+0

Może być właściwe wspomnieć, że w przypadkach, w których URI jest używane dla deklaracji przestrzeni nazw w XML (również XHTML, SOAP itp.), Kodowanie procentowe nie ma żadnego efektu (nie jest dekodowane) i po prostu część ciągu znaków który tworzy przestrzeń nazw. W wyniku tego * jest * rozróżniana wielkość liter. To znaczy. 'xmlns: t =" http://foo.bar/%2A "' jest * nie równe, ani równoważne * do 'xmlns: t =" http://foo.bar/%2a "'. – Abel

+0

@Abel while true, naprawdę chodzi o przestrzenie nazw XML, które tak naprawdę nie są identyfikatorami URI (chociaż ich specyfikacja fałszywie twierdzi, że jest inaczej). Na przykład część przestrzeni nazw, która ma być składnikiem domeny, jest również rozróżniana wielkość liter w deklaracjach przestrzeni nazw XML, co jest niezgodne z RFC 3986. –

+0

dokładnie, o to właśnie tutaj chodziło, dzięki za podanie więcej kontekstu – Abel

Powiązane problemy