Devo usare la custodia del titolo negli URL?


9

Attualmente stiamo decidendo una convenzione di denominazione coerente su un sito con più applicazioni Web. Storicamente, sono stato un sostenitore del "minuscolo tutte le lettere!" durante la creazione di URL:

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

Tuttavia, nell'ultimo anno o due, in particolare da quando ho iniziato a utilizzare ASP.NET MVC e ho avuto più rapporti con URL basati su REST, sono diventato un fan di capitalizzare la prima lettera di ogni sezione / parola all'interno dell'URL mentre lo fa più facile da leggere (imho).

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

Non siamo in una situazione in cui le persone devono leggere o essere in grado di comprendere gli URL, quindi non è un driver di per sé. La cosa principale che stiamo cercando è un approccio coerente che sia razionale e sensato.

Ci sono degli standard che dichiarano positivo fare in un modo o nell'altro o problemi che potremmo incontrare su configurazioni (almeno realisticamente moderne) che sceglierebbero una preferenza rispetto a un'altra? Qual è attualmente il consenso generale per questo dibattito?

Risposte:


10

Poiché la scelta è principalmente cosmetica (vale a dire, la maggior parte dei sistemi non fa distinzione tra maiuscole e minuscole e gli utenti certamente non lo fanno), quindi suggerirei di andare con qualsiasi cosa ti renda felice. La coerenza all'interno dell'applicazione è la chiave , non il modo scelto.

Mentre usi ASP.Net, ti consiglio di seguire l'approccio PascalCase, poiché è quello che tende a esistere nel framework Microsoft (librerie di sistema, ecc.) Ma non ci sono "best practice" oltre a essere coerenti.

La maggior parte dei browser fa un buon lavoro nel nascondere l'URL all'utente, a tal punto che moltissime persone che hanno google come pagina iniziale, cercheranno quindi Facebook e faranno clic su di esso, piuttosto che inserire l'URL di Facebook nella loro browser.


7
Ma il sistema non differenziata ...
ghoppe

1
Dovresti almeno menzionare che la distinzione tra maiuscole e minuscole dipende dalla configurazione del server, quindi vale la pena prendere in considerazione, piuttosto che dichiarare erroneamente che il sistema non fa distinzione tra maiuscole e minuscole.
jleach,

@ jdl134679 fatto.
TZHX,

4

Per i siti Web interni, non importa tanto finché sei coerente con esso.

Per i siti esterni, rivolti al pubblico, è probabile che tu voglia attenersi alle lettere minuscole che sono più o meno lo standard nell'hosting web Linux / Apache. Come ricordo, alcune versioni di Firefox sembrano anche gestire il case degli URL in modo diverso da IE. Questo potrebbe valere anche per Chrome.

Avere un case coerente è importante anche per l'ottimizzazione dei motori di ricerca. Non vuoi che Google visualizzi le lettere minuscole.aspx e le lettere minuscole.aspx come pagine diverse con contenuti duplicati. Mentre i loro algoritmi provano a prevenire questa identità errata, ciò accade di tanto in tanto e può causare la penalizzazione di una pagina.


2

Fintanto che gli utenti possono digitarlo come vogliono, non importa davvero. Personalmente, preferisco TitleCase, ma ci sono molti che non sono d'accordo. Se sei coerente, a nessuno importa.

Se il tuo server web non può, per qualche motivo, mostrarmi http://foo.com/HelloWorldquando provo ad andare a http://foo.com/helloworld, dovresti optare per tutte le lettere minuscole. Mentre le persone raramente digitano URL completi in questi giorni, gli indirizzi frontali dovrebbero essere accessibili senza dover giocherellare con le maiuscole.


2

Il fatto che tu abbia iniziato a usare MVC non dovrebbe "infiltrarsi" nell'astrazione REST. Ci sono buoni motivi per usare tutti gli URL minuscoli con trattini tra le parole. Gli URI (non i nomi di dominio) SONO sensibili al maiuscolo / minuscolo. Se minuscoli tutto e usi trattini per separare le parole, hai eliminato un sacco di ipotesi di lavoro e una tantum, e se usi un server proxy (nginx, nodejs, apache ...) non avrai tutto iniziare a rompersi perché è improvvisamente sensibile al maiuscolo / minuscolo.

"MiXeD-CaSe NaMeS. Non confondere i tuoi utenti mescolando-Caratteri maiuscoli e minuscoli-nell'-URL. Attenersi alle lettere minuscole e non indovinarle. Se il tuo utente digita effettivamente un URL in maiuscolo, lo normalizza sul server e serve il caso appropriato ".


1

Mentre TLD non sono case-sensitive e percorsi di Windows utilizzano una combinazione di capitale e caso Pascal, le nostre applicazioni sono sensibili ai percorsi richiesta in entrata, in cui i percorsi, o componenti in essi, sono di solito normalizzato a un caso standard, dal momento che /format/JSON/e /format/json/sono le richieste di due formati diversi e riferimento a due risorse distinte.

Ogni volta che ho visto http://www.somewebsite.com/Having/URLs/That-Look-Something-Like-This/ , ho sentito che l'intento dello sviluppatore era principalmente quello di apparire un po 'diverso dal resto, ma non è niente innovare e né si contribuirà a migliorare la leggibilità, soprattutto ora che avete io e l , O e 0 , altre lettere contendenti per la vostra analisi.

Non sono a conoscenza di alcun consenso, né credo che dovrebbe essercene uno, perché qualcosa di semplice come capitalizzare solo alcune parti di un URL potrebbe avere un impatto positivo sulla leggibilità e sono sicuro che qualcuno, da qualche parte sta già arrivando con idee interessanti quando si tratta di applicare lettere maiuscole agli URL.

Ma, a giudicare dal fatto che la maggior parte dei server Web è in esecuzione su Linux e che noi sviluppatori finiamo sempre per standardizzare i dati di testo in arrivo perché l'input fa distinzione tra maiuscole e minuscole, mi sto attenendo a come è stato fatto da sempre.


0

MAI usare la custodia del titolo per motivi di usabilità! Immagina quanto tempo dovresti impiegare e fare clic per eseguire l'URL della custodia nel tuo telefono MOBILE !


Anche se sul mio iPhone, la custodia del titolo richiede un numero di tasti aggiuntivo inferiore a "-" o "_".
BradS

Smartphone moderni, almeno i telefoni Windows consentono di scorrere dalla chiave maiuscola per raggiungere questo obiettivo in un colpo solo
0fnt
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.