Sollte die URL zwischen Groß- und Kleinschreibung unterscheiden?


284

ich habe bemerkt, dass

HTTP://STACKOVERFLOW.COM/QUESTIONS/ASK

und

http://stackoverflow.com/questions/ask

beides funktioniert gut - eigentlich wird das vorherige in Kleinbuchstaben umgewandelt.

Ich denke, dass dies für den Benutzer sinnvoll ist.

Wenn ich mir Google anschaue, funktioniert diese URL einwandfrei:

http://www.google.com/intl/en/about/corporate/index.html  

aber dieser mit "ABOUT" funktioniert nicht:

http://www.google.com/intl/en/ABOUT/corporate/index.html   

Sollte die URL zwischen Groß- und Kleinschreibung unterscheiden?


13
IMHO, URL sollte niemals zwischen Groß- und Kleinschreibung unterscheiden, das macht den Leuten, die sie verwenden, das Leben nur schwerer.
Muhammad Umer

16
Die Frage "SOLLTEN URLs zwischen Groß- und Kleinschreibung unterscheiden?" ist eine schlechte Frage, weil sie die Meinung hervorruft. Eine bessere Frage wäre vielmehr: "WARUM wird bei URLs zwischen Groß- und Kleinschreibung unterschieden (oder WARUM nicht)?" Oder "Warum wird bei einigen URLs zwischen Groß- und Kleinschreibung unterschieden, bei anderen nicht?"
Chharvey

Eine mögliche Antwort finden Sie im neuen URL-Standard von WHATWG , der von node.js übernommen wurde .
Chharvey

Meiner Meinung nach sollten sie es nicht sein
Andrew

Wenn der Browser den Fall nicht berücksichtigt, wird die ipfs-Adresse beschädigt, aber nicht
Beeno Tung

Antworten:


281

Laut W3s " HTML und URLs " sollten sie:

Es kann URLs oder Teile von URLs geben, bei denen die Groß- und Kleinschreibung keine Rolle spielt, aber die Identifizierung dieser URLs ist möglicherweise nicht einfach. Benutzer sollten immer berücksichtigen, dass bei URLs zwischen Groß- und Kleinschreibung unterschieden wird.


95
Ich denke, "sei liberal in dem, was du akzeptierst und konservativ in dem, was du sendest" (IETF-Rede) wäre meine Richtlinie.
Jldupont

9
Die W3-Richtlinie ist angemessen. Es heißt einfach, dass man nicht davon ausgehen sollte, wie der Server mit der von Ihnen übermittelten URL umgeht. Es ist Sache des Servers, wie mit der Anforderungs-URL umgegangen wird. Die meisten Webserver sind Unix / Linux und das bedeutet, dass die meisten Webserver zwischen Groß- und Kleinschreibung unterscheiden.
o

37
Laut W3 sollten BENUTZER davon ausgehen, dass bei Servern zwischen Groß- und Kleinschreibung unterschieden wird, geben jedoch keine Empfehlung für SERVER ab.
Tryse

3
Aus Gründen der Ausfallsicherheit sollten Programme, die URLs interpretieren, Großbuchstaben als gleichwertig mit Kleinbuchstaben in Schemanamen behandeln (z. B. "HTTP" sowie "http" zulassen). Quelle
realPK

3
@PK_ Beachten Sie, dass dies nur für den hält Schema Teil der URL. In RFC1738 wird nicht erläutert, ob andere Teile der URL als Groß- und Kleinschreibung interpretiert werden sollen oder nicht.
Dthrasher

126

Alle " unempfindlichen " sind zur besseren Lesbarkeit verpflichtet.

Domainnamen unterscheiden gemäß RFC 4343 nicht zwischen Groß- und Kleinschreibung . Der Rest der URL wird über die GET-Methode an den Server gesendet. Dies kann zwischen Groß- und Kleinschreibung unterscheiden oder nicht.

Nehmen wir diese Seite zum Beispiel, stackoverflow.com empfängt GET-Zeichenfolge / Fragen / 7996919 / Sollte-URL-Groß- und Kleinschreibung beachten und sendet ein HTML-Dokument an Ihren Browser. Stackoverflow.com unterscheidet nicht zwischen Groß- und Kleinschreibung, da das gleiche Ergebnis für / QUEStions / 7996919 / Sollte-URL-Groß- und Kleinschreibung beachten .

Auf der anderen Seite unterscheidet Wikipedia zwischen Groß- und Kleinschreibung, mit Ausnahme des ersten Zeichens des Titels. Die URLs https://en.wikipedia.org/wiki/Case_sensitivity und https://en.wikipedia.org/wiki/case_sensitivity führen zum gleichen Artikel, aber https://en.wikipedia.org/wiki/CASE_SENSITIVITY kehrt zurück 404.


7
Wikipedia verzeiht die Groß- und Kleinschreibung in Fällen, in denen Benutzer der Meinung sind, dass ein Wort der eine oder andere Fall sein sollte, aber dies liegt eher an der Zwangsstörung ... Entschuldigung, Rücksichtnahme der Herausgeber. Die URLs unterscheiden jedoch technisch zwischen Groß- und Kleinschreibung.
Tryse

14
Dies liegt daran, dass der semantische, lesbare Teil der URL einer Frage im Stapelüberlauf sie nicht identifiziert, sondern durch identifiziert 7996919. Der semantische Teil der URL dient nur SEO-Zwecken.
user3367701

4
Eigentlich funktioniert auch /programming/7996919/should-BLABLA-be-or-NOT-to-be . Dies liegt daran, dass der Server von stackoverflow.com nur die ID der Frage verwendet, um sie zu identifizieren und die richtige URL und HTML-Seite zurückzugeben.
Bozzy

72

Kommt auf das Hosting-Betriebssystem an. Auf Websites, die unter Windows gehostet werden, wird die Groß- und Kleinschreibung nicht berücksichtigt, da das zugrunde liegende Dateisystem die Groß- und Kleinschreibung nicht berücksichtigt. Auf Unix-Systemen gehostete Sites unterscheiden in der Regel zwischen Groß- und Kleinschreibung, da die zugrunde liegenden Dateisysteme normalerweise zwischen Groß- und Kleinschreibung unterscheiden. Der Hostnamen-Teil der URL unterscheidet immer zwischen Groß- und Kleinschreibung. Der Rest des Pfads variiert.


1
Ja, wie dieser bei http-Anfragen an Dateien auf einem Unix-FTP-Server schmerzhaft herausgefunden hat.
Laurie Stearn

1
Es wäre genauer zu sagen, dass es im Allgemeinen vom Server abhängt, da das Bereitstellen von Dateien nicht die einzige Möglichkeit ist, HTTP-Anforderungen zu beantworten.
Valentin Waeselynck

31

Der Domain-Name-Teil einer URL unterscheidet nicht zwischen Groß- und Kleinschreibung, da DNS Groß- http://en.example.org/und Kleinschreibung ignoriert: und HTTP://EN.EXAMPLE.ORG/beide dieselbe Seite öffnen.

Der Pfad wird verwendet, um die angeforderte Ressource anzugeben und möglicherweise zu finden. Es unterscheidet zwischen Groß- und Kleinschreibung, obwohl einige Server, insbesondere solche, die auf Microsoft Windows basieren, möglicherweise nicht zwischen Groß- und Kleinschreibung unterscheiden.

Wenn der Server zwischen Groß- und Kleinschreibung unterscheidet und http://en.example.org/wiki/URLkorrekt ist, wird http://en.example.org/WIKI/URLoder http://en.example.org/wiki/urlwird eine HTTP 404-Fehlerseite angezeigt, sofern diese URLs nicht auf gültige Ressourcen selbst verweisen.


3
Diese Antwort hat den einzig richtigen Wortlaut "Es wird zwischen Groß- und Kleinschreibung unterschieden, obwohl zwischen Groß- und Kleinschreibung unterschieden werden kann". Nur gültige Antwort.
Daniel W.

@DanFromGermany, bei Pfad wird zwischen Groß- und Kleinschreibung unterschieden. Hier kann vage von Groß- und Kleinschreibung abgeleitet werden (URLs unterscheiden im Allgemeinen zwischen Groß- und Kleinschreibung) (mit Ausnahme von Computernamen) diese können nicht einfach sein. " Daraus lässt sich jedoch nicht schließen. Wie in einem der obigen Kommentare erwähnt, wird in RFC1738 nicht erläutert, ob andere Teile der URL als das Schema als Groß- und Kleinschreibung zu interpretieren sind oder nicht. Haben Sie einen Link, der verdeutlicht, bei welchen Teilen der URL zwischen Groß- und Kleinschreibung unterschieden wird?
Granat

2
@garnet Von RFC3986 6.2.2.1. Fallnormalisierung : Wenn ein URI Komponenten der generischen Syntax verwendet, gelten immer die Äquivalenzregeln für die Komponentensyntax. Das Schema und der Host unterscheiden nämlich nicht zwischen Groß- und Kleinschreibung und sollten daher auf Kleinbuchstaben normiert werden. Zum Beispiel kann der URI HTTP://www.EXAMPLE.com/entspricht http://www.example.com/. Es wird angenommen, dass die anderen generischen Syntaxkomponenten zwischen Groß- und Kleinschreibung unterscheiden, sofern das Schema nicht ausdrücklich etwas anderes definiert. "
Daniel W.,

2
@garnet Und aus dem HTTP-RFC : " Wenn zwei URIs verglichen werden, um zu entscheiden, ob sie übereinstimmen oder nicht, sollte ein Client einen Oktett-für-Oktett-Vergleich der gesamten URIs verwenden, [...] " (mit Ausnahme des Schemas) und Host selbst).
Daniel W.

15

Ich bin kein Fan von alten Artikeln, aber da dies eine der ersten Antworten auf dieses spezielle Problem war, hatte ich das Bedürfnis, etwas zu klären.

Wie die Antwort von @Bhavin Shah besagt, ist der Domain-Teil der URL unabhängig von Groß- und Kleinschreibung

http://google.com 

und

http://GOOGLE.COM 

und

http://GoOgLe.CoM 

sind alle gleich, aber alles nach dem Domainnamen-Teil wird als Groß- und Kleinschreibung betrachtet.

so...

http://GOOGLE.COM/ABOUT

und

http://GOOGLE.COM/about

sind anders.

Hinweis: Ich spreche in vielen Fällen "technisch" und nicht "wörtlich". In den meisten Fällen sind Server so eingerichtet, dass diese Elemente gleich behandelt werden. Es ist jedoch möglich, sie so einzurichten, dass sie NICHT gleich behandelt werden.

Verschiedene Server behandeln dies unterschiedlich und müssen in einigen Fällen zwischen Groß- und Kleinschreibung unterscheiden. In vielen Fällen werden Abfragezeichenfolgenwerte codiert (z. B. Sitzungs-IDs oder Base64-codierte Daten, die als Abfragezeichenfolgenwert übergeben werden). Bei diesen Elementen wird von Natur aus zwischen Groß- und Kleinschreibung unterschieden, sodass der Server bei der Verarbeitung zwischen Groß- und Kleinschreibung unterscheiden muss.

Um die Frage zu beantworten: "Sollten" Server beim Abrufen dieser Daten zwischen Groß- und Kleinschreibung unterscheiden, lautet die Antwort "Ja, auf jeden Fall".

Natürlich muss nicht alles zwischen Groß- und Kleinschreibung unterscheiden, aber der Server sollte wissen, was das ist und wie mit diesen Fällen umgegangen werden soll.


@ Hart Simhas Kommentar sagt im Grunde das Gleiche. Ich habe es verpasst, bevor ich gepostet habe, also möchte ich Kredit geben, wo Kredit fällig ist.



3

Folgendes berücksichtigen:

https://www.example.com/createuser.php?name=Paul%20McCartney

In diesem hypothetischen Beispiel sendet ein HTML-Formular unter Verwendung der GET-Methode den Parameter "name" an ein PHP-Skript, das ein neues Benutzerkonto erstellt.

Und der Punkt, den ich mit diesem Beispiel anspreche, ist, dass bei diesem GET-Parameter zwischen Groß- und Kleinschreibung unterschieden werden muss, um die Großschreibung von "McCartney" beizubehalten (oder als weiteres Beispiel, um "Walter d'Isney" beizubehalten, da es andere Möglichkeiten gibt für Namen, die gegen die üblichen Großschreibungsregeln verstoßen).

Es sind Fälle wie diese, die die W3C-Empfehlung leiten, dass Schema und Host nicht zwischen Groß- und Kleinschreibung unterscheiden, aber alles danach unterscheidet möglicherweise zwischen Groß- und Kleinschreibung - und bleibt dem Server überlassen. Das Erzwingen der Unempfindlichkeit gegenüber Groß- und Kleinschreibung würde das obige Beispiel dazu führen, dass der Fall von Benutzereingaben, die als GET-Abfrageparameter übergeben werden, nicht beibehalten werden kann.

Aber was ich sagen würde ist, dass, obwohl dies notwendigerweise der Buchstabe des Gesetzes ist, um solchen Fällen Rechnung zu tragen, der Geist des Gesetzes darin besteht, dass man sich, wenn der Fall irrelevant ist, in einer fallunempfindlichen Weise verhält. Die Standards können Ihnen jedoch nicht sagen, wo der Fall irrelevant ist, da er, wie die Beispiele, die ich gegeben habe, kontextabhängig ist.

(z. B. wird ein Benutzername eines Kontos wahrscheinlich am besten gezwungen, die Groß- und Kleinschreibung nicht zu berücksichtigen, da "User123" und "user123" unterschiedliche Konten sein können, die sich als verwirrend erweisen können - selbst wenn bei ihrem tatsächlichen Namen, wie oben, die Groß- und Kleinschreibung am besten berücksichtigt wird.)

Manchmal ist es relevant, meistens nicht. Es muss jedoch dem Server / Webentwickler überlassen bleiben, diese Dinge zu entscheiden - und kann nicht standardmäßig vorgeschrieben werden -, da nur auf dieser Ebene der Kontext bekannt sein könnte.

Das Schema und der Host unterscheiden nicht zwischen Groß- und Kleinschreibung (was die Präferenz des Standards für Groß- und Kleinschreibung zeigt, wenn dies allgemein vorgeschrieben werden kann). Der Rest bleibt Ihnen überlassen, um zu entscheiden, wie Sie den Kontext besser verstehen. Aber wie bereits erwähnt, sollten Sie im Geiste des Gesetzes wahrscheinlich standardmäßig die Unempfindlichkeit gegenüber Groß- und Kleinschreibung ablehnen, es sei denn, Sie haben einen guten Grund, dies nicht zu tun.


Werden Abfragezeichenfolgen als Teil des Speicherorts behandelt? Ich glaube, sie werden als separate Einheiten behandelt und nicht für die Standortauflösung verwendet.
jpmc26

Abfragezeichenfolgen sind vom Speicherort getrennt, ja. Die gleichen Prinzipien, die ich dort mit Abfrageparametern gezeigt habe, können jedoch auch auf andere Teile der URL angewendet werden. Einige CMS schreiben beispielsweise "/user.php?id=3756" absichtlich in "/ users / PaulMcCartney" um, um bessere SEO-freundliche, von Menschen lesbare URLs zu erhalten (Wordpress tut dies beispielsweise). Der Punkt ist, dass die Standards absichtlich von der Verschreibung zurücktreten, was kontextabhängig ist. Es bleibt dem Server überlassen, zu entscheiden, wie der Server den Kontext versteht, in dem ein universeller Standard dies nicht kann.
Bob

2

Bei URLs sollte die Groß- und Kleinschreibung nicht berücksichtigt werden, es sei denn, es gibt einen guten Grund, warum dies nicht der Fall sein sollte.

Dies ist nicht obligatorisch (es ist kein Teil eines RFC), macht jedoch die Kommunikation und Speicherung von URLs weitaus zuverlässiger.

Wenn ich zwei Seiten auf einer Website habe:

http://stackoverflow.com/ABOUT.html

und

http://stackoverflow.com/about.html

Wie sollen sie sich unterscheiden? Vielleicht ist man "Shouting Style" (Großbuchstaben) geschrieben - aber aus IA-Sicht sollte die Unterscheidung niemals durch eine Änderung der URL getroffen werden.

Darüber hinaus ist es einfach, dies in Apache zu implementieren - verwenden Sie einfach CheckSpelling Onvon mod_Speling.


0

Alte Frage, aber ich bin hier gestolpert. Warum also nicht einen Versuch machen, da die Frage nach verschiedenen Perspektiven und nicht nach einer endgültigen Antwort sucht?

w3c mag seine Empfehlungen haben - was mir sehr wichtig ist - aber ich möchte überdenken, da die Frage hier ist.

Warum betrachtet w3c Domain-Namen nicht zwischen Groß- und Kleinschreibung und lässt danach alles ohne Berücksichtigung der Groß- und Kleinschreibung?

Ich denke, dass das Grundprinzip darin besteht, dass der Domain-Teil der URL von einem Benutzer von Hand eingegeben wird. Alles, was Hypertext ist, wird vom Computer aufgelöst (Browser und Server hinten).

Maschinen können besser mit Groß- und Kleinschreibung umgehen als Menschen (nicht die technische Art :)).

Aber die Frage ist nur, weil die Maschinen damit umgehen können, sollte es so gemacht werden?

Ich meine, was sind die Vorteile des Benennens und Zugriffs auf eine Ressource, die sich im hereIsTheResourceVergleich zu vs befindet hereistheresource?

Die Seite ist sehr unlesbar als die Kamelhülle, die besser lesbar ist. Für Menschen lesbar (einschließlich der technischen Art).

Also hier sind meine Punkte: -

Der Ressourcenpfad befindet sich irgendwo in der Mitte der Programmierstruktur und befindet sich manchmal in der Nähe eines Endbenutzers hinter dem Browser.

Bei Ihrer URL (mit Ausnahme des Domainnamens) sollte die Groß- und Kleinschreibung nicht berücksichtigt werden, wenn von Ihren Benutzern erwartet wird, dass sie sie berühren oder eingeben usw. Sie sollten Ihre Anwendung so entwickeln, dass vermieden wird, dass Benutzer den Pfad so weit wie möglich eingeben.

Ihre URL (mit Ausnahme des Domainnamens) sollte zwischen Groß- und Kleinschreibung unterscheiden, wenn Ihre Benutzer sie niemals manuell eingeben würden.

Fazit

Der Pfad sollte zwischen Groß- und Kleinschreibung unterscheiden. Meine Punkte wiegen in Richtung der Groß- und Kleinschreibung.


0

URL-Zeichen werden in Hex-Code konvertiert (falls Sie jemals bemerkt haben, dass Leerzeichen in URLs als% 20 usw. angezeigt werden). Da Klein- und Großbuchstaben unterschiedliche Hex-Werte haben, ist es durchaus sinnvoll, dass bei URLs die Groß- und Kleinschreibung beachtet wird. Der Geist der Frage scheint jedoch der Standard zu sein, und ich sage nein, aber sie sind es. Es ist Sache des Entwicklers / Anbieters, dies in seinem Code zu berücksichtigen, wenn er möchte, dass es unabhängig von einem Endbenutzer funktioniert.


Das ist interessant. reguläre e ASCII-Zeichen (die Groß- und Kleinschreibung haben) werden nicht konvertiert, obwohl? In der URL werden nur Leerzeichen und erweiterte Zeichen maskiert. Haben erweiterte Zeichen einen Modifikator für Groß- / Kleinschreibung?
TygerKrash

0

Ich denke, dass dies und viele der Antworten rund um das, was die Spezifikation sagt oder nicht sagt, den Punkt der Frage verfehlen. Sollten sie zwischen Groß- und Kleinschreibung unterscheiden? Das ist wirklich eine geladene Frage. Aus der Sicht eines Benutzers ist die Groß- und Kleinschreibung ein Schmerzpunkt, von dem nicht alle wissen, dass er einen Unterschied macht. Die Frage, ob URIs sein sollten oder nicht, hängt vom Kontext der Frage ab. Für technische Flexibilität sollten sie es sein. Aus Gründen der Benutzerfreundlichkeit sollten sie es nicht sein.


Um fair zu sein, ist jede Frage, die "SOLLTE" stellt, von Natur aus meinungsbasiert und könnte aus StackOverflow entfernt werden. (Mehr: stackoverflow.blog/2010/09/29/good-subjective-bad-subjective )
chharvey

0

Fallbewahrung

URLs zwischen Client und Server bewahren die Groß- und Kleinschreibung . Bei Teilen von URLs kann es je nach Server aus mehreren Gründen zwischen Groß- und Kleinschreibung unterscheiden oder nicht .

Groß- und Kleinschreibung

Die folgenden fett gedruckten Teile von URLs können je nach Site- und / oder Serverkonfiguration zwischen Groß- und Kleinschreibung unterscheiden.

    http: // www. example.com /abc/def.ghi?jkl=mno#pqr

    user @ example.com

Begründung

Die Groß- und Kleinschreibung in URLs kann verschiedene Verwendungszwecke haben. Hauptsächlich:

  1. Native Kompatibilität mit Dateisystemen, bei denen zwischen Groß- und Kleinschreibung unterschieden wird.
  2. Kompaktere Datencodierung innerhalb von URLs, z. B. für Serialisierung, Hashing, IDs, Permalinks und URL-Shortener.

Als Entwickler glaube ich, dass das oben Genannte oft besser gehandhabt werden kann, aber ich verstehe auch, dass es Fälle gibt, in denen eine Situation dies möglicherweise nicht zulässt.

Stellen Sie sich beispielsweise ein vorhandenes Produkt vor, für das viele Daten in der URL "GET" abgelegt werden müssen, das jedoch mit den maximalen URL-Längen aller wichtigen Server, Browser und Caching- / Proxy-Mechanismen kompatibel sein muss. Um auch nur eine Befehlszeichenfolge mittlerer Länge anzupassen (bei einigen älteren Browsern weniger als 1.024 Zeichen), müssen Sie jedes eindeutige URL-sichere Zeichen verwenden, das Sie verwenden können (was im Grunde die Base64url-Codierung ist).

In einer idealen Welt

Ob URLs zwischen Groß- und Kleinschreibung unterscheiden sollten oder nicht, ist umstritten. Ich persönlich bin der Meinung, dass dies der Einfachheit halber nicht der Fall sein sollte (obwohl dadurch möglicherweise längere URLs erstellt werden, haben wir prozentuale Escapezeichen, um Fälle einfach zu behandeln, in denen wir die Beibehaltung exakter Zeichen sicherstellen müssen, und es gibt andere Möglichkeiten, Daten als die richtigen in der URL zu übertragen). .

Viele scheinen zuzustimmen, da URLs ohne Berücksichtigung der Groß- und Kleinschreibung für viele beliebte Websites und Dienste explizit aktiviert werden, um die Benutzerfreundlichkeit zu verbessern. Das bekannteste Beispiel ist der Benutzername der E-Mail-Adressen. Die meisten E-Mail-Anbieter ignorieren Groß- und Kleinschreibung und manchmal sogar Punkte und andere Symbole (z. B. "j.smith@example.com" entspricht "JSMITH@example.com"). Obwohl bei E-Mail-Benutzernamen standardmäßig zwischen Groß- und Kleinschreibung unterschieden wird.

Tatsache ist jedoch, dass dies trotz der Wünsche von mir oder anderen der aktuelle Stand der Dinge ist. Und obwohl ein möglicher weltweiter Übergang zu einem URL-Standard ohne Berücksichtigung der Groß- und Kleinschreibung durchaus möglich ist, würde dies wahrscheinlich ziemlich lange dauern, da die Groß- und Kleinschreibung derzeit im Internet häufig für verschiedene Zwecke verwendet wird.

Empfohlene Vorgehensweise

In Bezug auf Best Practices können Sie sich als Benutzer in den meisten Situationen vernünftigerweise an Kleinbuchstaben halten und erwarten, dass die Dinge funktionieren. Die Hauptausnahmen wären URLs, die fallbasierte Codierung oder Dokumentpfade mit direkten Dateisystemäquivalenten verwenden. Solche komplexen URLs werden jedoch normalerweise kopiert (oder einfach angeklickt) und nicht manuell eingegeben.

Als Webentwickler sollten Sie in Betracht ziehen, URLs so weit wie möglich von Groß- und Kleinschreibung zu unterscheiden. Obwohl es je nach Kontext einige schwer zu vermeidende Situationen gibt, wie oben erwähnt.


-1

Die Frage ist, ob bei der URL zwischen Groß- und Kleinschreibung unterschieden werden soll.

Ich sehe keine Verwendung oder gute Praxis hinter URLs, bei denen zwischen Groß- und Kleinschreibung unterschieden wird. Es ist dumm, es ist scheiße und sollte jederzeit vermieden werden.

Um meine Meinung zu untermauern, wenn jemand nach welcher URL fragt, wie können Sie erklären, welche Zeichen der URL in Groß- oder Kleinschreibung geschrieben sind? Das ist Unsinn und sollte dir niemand etwas anderes sagen.


32
Es gibt einen Vorteil, wenn URLs zwischen Groß- und Kleinschreibung unterscheiden. Auf einigen Websites, auf denen Objekte mit eindeutigen IDs codiert sind, auf die über die URL verwiesen werden kann, kann die Codierung so etwas wie base64 anstelle von base36 sein . Auf diese Weise können Sie exponentiell mehr eindeutige Objekte in derselben Anzahl von URL-Zeichen codieren. Zum Beispiel könnte foo.com/000 - foo.com/zzz (ohne Berücksichtigung der Groß- und Kleinschreibung) auf 36 ^ 3 eindeutige Objekte verweisen, wobei foo.com/000 - foo.com/ZZZ (Groß- und Kleinschreibung beachten, was foo.com/zzz bedeutet und foo.com/ZZZ sind unterschiedliche Pfade), würde sich auf 62 ^ 3 Objekte beziehen.
Hart Simha

6
Dies ist keine Antwort, sondern ein Kommentar.
der Blechmann

1
Ich unterstütze es mit einem Beispiel. URLs werden von Personen verwendet - siehe Originalfrage - und nicht von Computern. Es ist sehr schwer zu sehen, WARUM ein Link nicht funktioniert. Da bei fast ALLEN Domains die Groß- und Kleinschreibung nicht berücksichtigt wird, sollte dies auch für den Rest der URL der Fall sein. Die Abstimmungen sind für meinen Tonfall (der schlecht ist) oder weil technische Leute dazu neigen, technische Schönheit der Benutzererfahrung vorzuziehen.
HenriKoppen

1
@theTinMan Es ist eine Antwort auf die meinungserregende Frage.
Chharvey

Ich stimme @HartSimha zu und da die Frage nach einer Meinung fragt: Wenn ein Teil der URL-Route nicht zur Identifizierung eines eindeutigen Objekts verwendet wird, machen Sie es aus Liebe zu allem, was im Internet gut ist, NICHT zwischen Groß- und Kleinschreibung.
Jaybro

-3

Bei Websites, die auf einem Linux-Server gehostet werden, wird bei der URL zwischen Groß- und Kleinschreibung unterschieden. http://www.google.com/about und http://www.google.com/About werden an verschiedene Speicherorte umgeleitet. In einem Windows Server unterscheidet die URL nicht zwischen Groß- und Kleinschreibung, wie beim Benennen eines Ordners, und wird an denselben Speicherort umgeleitet.


-6

Es ist möglich, URLs ohne Groß- und Kleinschreibung zu erstellen

RewriteEngine on
rewritemap lowercase int:tolower
RewriteCond $1 [A-Z]
RewriteRule ^/(.*)$ /${lowercase:$1} [R=301,L]

Machen Sie Google.com..GOOGLE.com usw. direkt zu google.com


Dies beantwortet nicht die Frage
Monokrom

3
Die Frage ist: "Sollte die URL zwischen Groß- und Kleinschreibung unterscheiden?" Ihre Antwort lautet: "So machen Sie URLs ohne
Berücksichtigung der
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.