Czy %3B
jest traktowane inaczej niż %3b
w adresie URL?Czy wielkość liter w adresach URL jest rozróżniana?
Odpowiedz
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.
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
@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. –
dokładnie, o to właśnie tutaj chodziło, dzięki za podanie więcej kontekstu – Abel
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? –
Znalazłem kilka sprzecznych informacji. Myślałem, że zadawanie pytań byłoby najłatwiejszym sposobem wyjaśnienia. – hugomg
Ok. Wierzę, że informacje w linku mówią, że pochodzą z RFC. Ale sposób implementacji jest zawsze tajemnicą dla producentów przeglądarek. ;) –