Czy powinienem używać wielkości liter w adresach URL?

9

Obecnie decydujemy się na spójną konwencję nazewnictwa w witrynie z wieloma aplikacjami internetowymi. Historycznie byłem zwolennikiem „małych liter wszystkich liter”! podczas tworzenia adresów URL:

http://example.com/mysystem/account/view/1551

Jednak w ciągu ostatniego roku lub dwóch, szczególnie odkąd zacząłem używać ASP.NET MVC i miałem więcej kontaktów z adresami URL opartymi na REST, stałem się fanem pisania pierwszej litery każdej sekcji / słowa w adresie URL łatwiejszy do odczytania (imho).

http://example.com/MySystem/Account/View/1551

Nie znajdujemy się w sytuacji, w której ludzie muszą czytać lub rozumieć adresy URL, więc nie jest to sam w sobie sterownik. Chcemy przede wszystkim konsekwentne podejście, które jest racjonalne i ma sens.

Czy są jakieś standardy, które deklarują, że dobrze jest w ten czy inny sposób, lub problemy, na które możemy natknąć się (przynajmniej w realistycznie nowoczesnych) konfiguracjach, które wybierają preferencję w stosunku do innej? Jaki jest obecnie ogólny konsensus w tej debacie?

Amadiere
źródło

Odpowiedzi:

10

Ponieważ wybór jest głównie kosmetyczny (tzn. Większość systemów nie rozróżnia wielkich i małych liter, a użytkownicy na pewno nie), sugeruję wybranie tego, co czyni cię szczęśliwym. Kluczem jest spójność w aplikacji , a nie sposób, który wybierzesz.

Gdy korzystasz z ASP.Net, zalecałbym korzystanie z podejścia PascalCase - ponieważ tak zwykle bywa w ramach Microsoft (biblioteki systemowe itp.). Ale nie ma „najlepszych praktyk” poza konsekwencją.

Większość przeglądarek całkiem dobrze ukrywa adres URL przed użytkownikiem, do tego stopnia, że ​​bardzo wiele osób, które mają stronę główną Google, wyszukuje facebooka i klika go - zamiast wpisywać adres URL facebooka w swoim przeglądarka.

TZHX
źródło
7
Ale system nie różnicują ...
ghoppe
1
Powinieneś przynajmniej wspomnieć, że rozróżnianie wielkości liter zależy od konfiguracji serwera, więc warto to rozważyć, zamiast twierdzić niepoprawnie, że system nie rozróżnia wielkich i małych liter.
jleach 28.07.16
@ jdl134679 gotowe.
TZHX
4

W przypadku witryn wewnętrznych nie ma to większego znaczenia, o ile jesteś z nimi zgodny.

W przypadku zewnętrznych, publicznych witryn prawdopodobnie będziesz chciał trzymać się małych liter, co jest mniej więcej standardem w hostingu Linux / Apache. O ile pamiętam, niektóre wersje Firefoksa również wyglądają inaczej niż IE. Może to dotyczyć również Chrome.

Spójna obudowa ma również znaczenie dla optymalizacji pod kątem wyszukiwarek. Nie chcesz, aby Google widział małe i małe litery.aspx i małe i małe litery jako różne strony ze zduplikowaną treścią. Choć ich algorytmy próbują zapobiec tej pomyłkowej tożsamości, zdarza się to od czasu do czasu i może powodować karanie strony.

jfrankcarr
źródło
2

Tak długo, jak użytkownicy mogą wpisać to, co chcą, tak naprawdę to nie ma znaczenia. Osobiście wolę TitleCase, ale jest wielu, którzy się nie zgadzają. Jeśli będziesz konsekwentny, nikt nie będzie miał nic przeciwko.

Jeśli Twój serwer internetowy z jakiegoś powodu nie może mi pokazać, http://foo.com/HelloWorldkiedy próbuję do niego przejść http://foo.com/helloworld, powinieneś wybrać małe litery. Podczas gdy ludzie rzadko wpisują obecnie pełne adresy URL, adresy frontowe powinny być dostępne bez konieczności majstrowania przy pisowni wielkimi literami.

Maks
źródło
2

To, że zacząłeś używać MVC, nie powinno „wyciekać” do abstrakcji REST. Istnieją dobre powody, aby używać wszystkich małych adresów URL z myślnikami między słowami. W identyfikatorach URI (bez nazw domen) rozróżniana jest wielkość liter. Jeśli wszystko odmienisz małymi literami i użyjesz myślników do oddzielenia słów, wyeliminujesz wiele zgadywanek i działań jednorazowych, a jeśli użyjesz serwera proxy (nginx, nodejs, apache ...), nie będziesz mieć wszystkiego, co zaczyna się psuć ponieważ nagle rozróżnia się wielkie i małe litery.

„MiXeD-CaSe NaMeS. Nie myl użytkowników, mieszając wielkie i małe litery w adresie URL. Trzymaj się małych liter i nie zgaduj. Jeśli Twój użytkownik faktycznie wpisuje adres URL wielkimi literami, normalizuje go na serwerze i podaje odpowiednią literę ".

Rick O'Shea
źródło
1

Choć TLD nie są wrażliwe na wielkość liter i ścieżki Okna użyć kombinacji kapitału i Pascal przypadku, nasze aplikacje są wrażliwe na przychodzące ścieżek żądanie, gdzie ścieżki, lub zawarte w nich składniki są zwykle znormalizowane do standardowego przypadku, ponieważ /format/JSON/i /format/json/są wnioski o dwa różne formaty i odwołują się do dwóch różnych zasobów.

Ilekroć widziałem http://www.somewebsite.com/Having/URLs/That-Look-Something-Like-This/ , czułem, że intencją dewelopera było głównie wyglądać nieco inaczej niż reszta, ale to nic innowacje i nie ma to poprawić czytelność, zwłaszcza teraz, że masz i i L , o i 0 , inne litery rywalizowanie o swojej analizy.

Nie znam żadnego konsensusu, nie uważam też, że powinien on istnieć, ponieważ coś tak prostego jak pisanie tylko niektórych części adresu URL może mieć pozytywny wpływ na czytelność i jestem pewien, że ktoś już gdzieś się zbliża z ciekawymi pomysłami, jeśli chodzi o stosowanie liter do adresów URL.

Ale sądząc po tym, że większość serwerów WWW działa w systemie Linux i że my, programiści, zawsze kończymy na standaryzacji przychodzących danych tekstowych, ponieważ w danych wejściowych rozróżniana jest wielkość liter, trzymam się tego, jak to było zrobione przez cały czas.

Filip Dupanović
źródło
0

NIGDY nie używaj tytułów tytułów ze względu na użyteczność! Wyobraź sobie, ile czasu powinieneś poświęcić i kliknąć, aby wykonać dla innego adresu URL skrzynki w telefonie MOBILE !

Tlt-ix Cjplfybt Cfqnjd
źródło
Chociaż na moim iPhonie, tytuł wymaga mniejszej liczby dodatkowych naciśnięć klawiszy niż „-” lub „_”.
BradS
Nowoczesne smartfony, przynajmniej telefony z systemem Windows umożliwiają przesunięcie z klawisza Caps, aby to osiągnąć jednym przeciągnięciem
0fnt