URL
Einheitlicher Ressourcen -Locator | |
Abkürzung | URL |
---|---|
Status | Veröffentlicht |
Erstmals veröffentlicht | 1994 |
Letzte Version | Lebensstandard 2022 |
Organisation | Internettechnik-Arbeitsgruppe (IETF) |
Komitee | Web Hypertext Application Technology Arbeitsgruppe (Whatwg) |
Serie | Anfrage nach Kommentaren (RFC) |
Redakteure | Anne van Kesteren |
Autoren | Tim Berners-Lee |
Grundstandards | |
Verwandte Standards | Uri, URNE |
Domain | Weltweites Netz |
Lizenz | CC um 4.0 |
Webseite | URL |
A Einheitlicher Ressourcen -Locator (URL), umgangssprachlich als a Webadresse,[1] ist ein Hinweis auf a Webressource das gibt seinen Standort auf einem an Computernetzwerk und ein Mechanismus zum Abrufen. Eine URL ist eine bestimmte Art von Einheitliche Ressourcenkennung (URI),[2][3] Obwohl viele Menschen die beiden Begriffe austauschbar verwenden.[4][a] URLs treten am häufigsten auf Referenz auf Webseiten (Http), werden aber auch für die Dateiübertragung verwendet (Ftp), Email (Mailto), Datenbankzugriff (JDBC) und viele andere Anwendungen.
Die meisten Internetbrowser Zeigen Sie die URL einer Webseite über der Seite in einem an Adressleiste. Eine typische URL könnte die Form haben http://www.example.com/index.html
, was ein Protokoll anzeigt (http
), a Hostname (www.example.com
) und ein Dateiname (index.html
).
Geschichte
Einheitliche Ressourcenlokatoren wurden in definiert RFC 1738 1994 von Tim Berners-Lee, der Erfinder der Weltweites Netzund die URI -Arbeitsgruppe der Internettechnik-Arbeitsgruppe (IETF),[7] Als Ergebnis der Zusammenarbeit begann bei den IETF Living Dokumente Federvögel Sitzung im Jahr 1992.[7][8]
Das Format kombiniert das bereits bestehende System von Domain Namen (1985 erstellt) mit Dateipfad Syntax, wo Schrägstriche werden verwendet, um sich zu trennen Verzeichnis und Dateinamen. Es gab bereits Konventionen, bei denen Servernamen für die Vervollständigung von Dateipfaden vorangestellt werden konnten, deren Doppelstrich (doppelte Schrägstriche (//
).[9]
Berners-Lee äußerte sich später Bedauern bei der Verwendung von Punkten, um die Teile der Teile der zu trennen Domainname innerhalb URISIch wünschte, er hätte durchgehend Schrägstriche benutzt,[9] Und sagte auch, dass angesichts des Dickdarms nach der ersten Komponente eines URI die beiden Schrägstriche vor dem Domain -Namen unnötig waren.[10]
Ein frühes Entwurf der HTML -Spezifikation (1993)[11] bezogen auf "universelle" Ressourcenlokatoren. Dies wurde zwischen Juni 1994 einige Zeit fallen (RFC1630) und Oktober 1994 (Draft-ITF-uri-url-08.txt).[12]
Syntax
Jede HTTP -URL entspricht der Syntax eines generischen URI. Das URI Generische Syntax besteht aus einer hierarchischen Sequenz von fünf Komponenten:[13]
Uri = Schema ":" ["//" Autorität] Pfad ["?" Abfrage] ["#" Fragment]
wo sich die Autoritätskomponente in drei unterteilt Unterkomponenten:
Authority = [UserInfo "@"] Host [":" Port]
Dies wird in a dargestellt Syntaxdiagramm wie:
Der URI umfasst:
- Ein nicht leeres planen Komponente gefolgt von einem Dickdarm (
:
), bestehend aus einer Folge von Zeichen, die mit einem Buchstaben beginnt und von einer beliebigen Kombination von Buchstaben, Ziffern plus (gefolgt von einer beliebigen Kombination von Buchstaben (), plus (+
), Zeitraum (.
) oder Bindestrich (-
). Obwohl die Schemata in der Fall sind, sind die kanonischen Form in Kleinbuchstaben und Dokumente, die Schemata angeben, müssen dies mit Kleinbuchstaben ausführen. Beispiele für beliebte Programme sindhttp
,https
,ftp
,Mailto
,Datei
,Daten
undIRC
. URI -Programme sollten bei der registriert werden Internet zugewiesene Zahlen Autorität (IANA), obwohl nicht registrierte Schemata in der Praxis verwendet werden.[b] - Ein optionales Behörde Komponente vor zwei Schrägstrichen (
//
), bestehend:- Ein optionales Benutzerinformation subkomponent, der aus a bestehen kann Nutzername und ein optionales Passwort Vorangegangen von einem Dickdarm (
:
), gefolgt von einem At -Symbol (@
). Verwendung des FormatsBenutzername Passwort
In der UserInfo -Unterkomponente wird aus Sicherheitsgründen veraltet. Bewerbungen sollten nicht als klare Text nach dem ersten Dickdarm (:
) In einem userInfo subcomponent gefunden, es sei denn, die Daten nach dem Dickdarm sind die leere Zeichenfolge (was kein Passwort anzeigt). - A Gastgeber subcomponent, bestehend aus einem registrierten Namen (einschließlich, aber nicht beschränkt auf a Hostname) oder an IP Adresse. IPv4 Adressen müssen in sein Dot-Decimal Notation, und IPv6 Adressen müssen in Klammern eingeschlossen sein (
[]
).[15][c] - Ein optionales Hafen Subcomponent vorausgeht von einem Dickdarm (
:
).
- Ein optionales Benutzerinformation subkomponent, der aus a bestehen kann Nutzername und ein optionales Passwort Vorangegangen von einem Dickdarm (
- A Weg Komponente, bestehend aus einer Sequenz von Pfadsegmenten, die durch einen Schrägstrich getrennt sind (
/
). Ein Pfad ist immer für einen URI definiert, obwohl der definierte Pfad leer ist (Nulllänge). Ein Segment kann auch leer sein, was zu zwei aufeinanderfolgenden Schrägstrichen führt (//
) in der Pfadkomponente. Eine Pfadkomponente kann genau an a ähneln oder zuordnen Dateisystempfad bedeutet aber nicht immer eine Beziehung zu einem. Wenn eine Autoritätskomponente vorhanden ist, muss die Pfadkomponente entweder leer sein oder mit einem Schrägstrich beginnen (/
). Wenn eine Autoritätskomponente nicht vorhanden ist, kann der Pfad nicht mit einem leeren Segment beginnen - dh mit zwei Schrägstrichen (//
) - Da die folgenden Zeichen als Autoritätskomponente interpretiert würden.[17]
- Durch Konvention in http und https URIS, der letzte Teil von a Weg benannt Pathinfo Und es ist optional. Es besteht aus null oder mehr Pfadsegmenten, die sich nicht auf einen vorhandenen physischen Ressourcennamen beziehen (z. B. eine Datei, ein internes Modulprogramm oder ein ausführbares Programm), sondern auf einen logischen Teil (z. B. einen Befehl oder einen Qualifikationsteil), der dies muss getrennt an den ersten Teil des Pfades übergeben werden, der ein ausführbares Modul oder ein Programm identifiziert, das von a verwaltet wird Webserver; Dies wird häufig verwendet, um dynamische Inhalte (ein Dokument usw.) auszuwählen oder ihn wie angefordert zu maßnen (siehe auch: CGI und Path_info usw.).
- Beispiel:
- URI:
"http://www.example.com/questions/3456/my-document"
- wo:
"/questions"
ist der erste Teil der Weg (ein ausführbares Modul oder Programm) und"/3456/my-document"
ist der zweite Teil der Weg genannt Pathinfo, das an das ausführbare Modul oder das benannte Programm übergeben wird"/questions"
So wählen Sie das angeforderte Dokument aus.
- URI:
- Ein http oder https URI mit a Pathinfo Teil ohne a Anfrage Teil kann auch als 'bezeichnet werden'saubere URL"Wessen letzter Teil kann ein" sein "Schnecke'.
Abfrageteiler | Beispiel |
---|---|
Et-Zeichen (& )) | key1 = value1 & key2 = value2 |
Semikolon (; )[d] | key1 = value1; key2 = value2 |
- Ein optionales Anfrage Komponente vor einem Fragezeichen (
?
) mit a Abfragezeichenfolge von nicht-hierarchischen Daten. Seine Syntax ist nicht gut definiert, aber durch Konvent ist am häufigsten eine Abfolge von Attribut -Wert -Paare getrennt durch a Abgrenzer. - Ein optionales Fragment Komponente voraus a Hash (
#
). Das Fragment enthält a Fragment -Kennung Bereitstellung von Anweisungen zu einer sekundären Ressource, z. B. einem Abschnitt in einem Artikel, der vom Rest des URI identifiziert wurde. Wenn die primäre Ressource eine ist Html Dokument, das Fragment ist oft einIch würde
Attribut Von einem bestimmten Element und Webbrowsern werden dieses Element in Sichtweise scrollen.
Ein Webbrowser wird normalerweise Dereferenz eine URL durch Ausführen einer Http Anfrage an den angegebenen Host standardmäßig auf der Portnummer 80. URLs verwenden die https
Schema verlangt, dass Anfragen und Antworten über a gestellt werden Sichere Verbindung zur Website sicher.
Internationalisierte URL
Internetnutzer werden weltweit mit einer Vielzahl von Sprachen und Alphabeten verteilt und erwarten, dass sie in ihren eigenen lokalen Alphabeten URLs erstellen können. Ein Internationalisierte Ressourcenkennung (IRI) ist eine Form von URL, die umfasst Unicode Figuren. Alle modernen Browser unterstützen Iris. Die Teile der URL, die eine besondere Behandlung für verschiedene Alphabete erfordern, sind der Domänenname und Pfad.[19][20]
Der Domain -Name im IRI ist als als bekannt Internationalisierter Domain -Name (IDN). Web- und Internetsoftware konvertieren den Domänennamen automatisch in Punycode nutzbar von der Domainnamensystem; Zum Beispiel die chinesische URL http: // 例子. 卷筒 纸 纸 纸
wird http: //xn-fsqu00a.xn--3lr804guic/
. Das xn--
zeigt an, dass der Charakter ursprünglich nicht war ASCII.[21]
Der URL -Pfadname kann auch vom Benutzer im lokalen Schreibsystem angegeben werden. Wenn nicht bereits codiert, wird es in konvertiert UTF-8und alle Charaktere, die nicht Teil des grundlegenden URL -Charakters gesetzt sind hexadezimal Verwendung prozentualer Kodierung; Zum Beispiel die japanische URL http://example.com/ 引き割り .html
wird http://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html
. Der Zielcomputer decodiert die Adresse und zeigt die Seite an.[19]
Protokoll-relative URLs
Protokoll-relative Links (PRL), auch als Protokoll-Relativ-URLs (Prurl) bekannt, sind URLs, die kein Protokoll angegeben haben. Zum Beispiel, //example.com
Verwendet das Protokoll der aktuellen Seite, typischerweise http oder https.[22][23]
Siehe auch
Anmerkungen
- ^ Eine URL impliziert die Mittel, um auf eine angegebene Ressource zuzugreifen, und wird durch ein Protokoll oder einen Zugangsmechanismus bezeichnet, der nicht für jede URI gilt.[5][4] Daher
http://www.example.com
ist eine URL währendwww.example.com
ist nicht.[6] - ^ Die Verfahren zur Registrierung neuer URI -Programme wurden ursprünglich 1999 von definiert von RFC 2717, und sind jetzt definiert von RFC7595, veröffentlicht im Juni 2015.[14]
- ^ Für URIs, die sich auf Ressourcen im World Wide Web beziehen, erlauben einige Webbrowser
.0
Teile der DOT-Dezimal-Notation, die fallen gelassen werden sollen, oder die zu verwendenden IP-Adressen von rohen IP.[16] - ^ Historisch RFC 1866 (veraltet von RFC2854) ermutigt CGI -Autoren, zu unterstützen ';' '; zusätzlich zu '&'.[18]
Zitate
- ^ W3C (2009).
- ^ "Vorwärts- und Backslashes in URLs". Zzz.buzz. Abgerufen 2018-09-19.
- ^ RFC 3986 (2005).
- ^ a b Joint W3C/IETF URI -Planungs -Interessengruppe (2002).
- ^ RFC 2396 (1998).
- ^ Miessler, Daniel. "Der Unterschied zwischen URLs und URIs".
- ^ a b W3C (1994).
- ^ IETF (1992).
- ^ a b Berners-Lee (2015).
- ^ BBC News (2009).
- ^ Berners-Lee, Tim; Connolly, Daniel "Dan" (März 1993). Hypertext -Markup -Sprache (Entwurf RFCXXX) (Technischer Bericht). p. 28.
- ^ Berners-Lee, Tim; Massinter, Larry; McCahill, Mark Perry (Oktober 1994). Einheitliche Ressourcenlokatoren (URL) (Technischer Bericht). (Dieses Internet-Draft wurde als vorgeschlagener Standard-RFC veröffentlicht. RFC 1738 (1994)) Zitiert in Ang, C. S.; Martin, D. C. (Januar 1995). Konstituierende Komponentenschnittstelle ++ (Technischer Bericht). UCSF -Bibliothek und Zentrum für Wissensmanagement.
- ^ RFC 3986, Abschnitt 3 (2005).
- ^ IETF (2015).
- ^ RFC 3986 (2005), §3.2.2.
- ^ Lawrence (2014).
- ^ RFC 2396 (1998)§3.3.
- ^ RFC 1866 (1995)§8.2.1.
- ^ a b W3C (2008).
- ^ W3C (2014).
- ^ Iana (2003).
- ^ Glaser, J. D. (2013). Sichere Entwicklung für mobile Apps: So entwerfen und codieren Sie sichere mobile Anwendungen mit PHP und JavaScript. CRC Press. p. 193. ISBN 978-1-48220903-7. Abgerufen 2015-10-12.
- ^ Schafer, Steven M. (2011). HTML-, XHTML- und CSS -Bibel. John Wiley & Sons. p. 124. ISBN 978-1-11808130-3. Abgerufen 2015-10-12.
Verweise
- "Berners-Lee" Entschuldigung "für Schrägstriche". BBC News. 2009-10-14. Abgerufen 2010-02-14.
- "Lebende Dokumente für Minuten". World Wide Web Konsortium. 1992-03-18. Abgerufen 2011-12-26.
- Berners-Lee, Tim (1994-03-21). "Uniform Resource Locators (URL): Eine Syntax für den Ausdruck von Zugriffsinformationen von Objekten im Netzwerk". World Wide Web Konsortium. Abgerufen 2015-09-13.
- Berners-Lee, Tim; Massinter, Larry; McCahill, Mark Perry (Dezember 1994). Einheitliche Ressourcenlokatoren (URL). doi:10.17487/rfc1738. RFC 1738. Abgerufen 2015-08-31.
- Berners-Lee, Tim (2015) [2000]. "Warum die //, #usw.?". Häufig gestellte Fragen. World Wide Web Konsortium. Abgerufen 2010-02-03.
- Connolly, Daniel "Dan"; Sperberg-McQueen, C. Michael, eds. (2009-05-21). "Webadressen in HTML 5". World Wide Web Konsortium. Abgerufen 2015-09-13.
- Iana (2003-02-14). "Abschluss der IANA -Auswahl des IDNA -Präfix". IETF-Announce-Mailingliste. Archiviert von das Original Am 2004-12-08. Abgerufen 2015-09-03.
- Berners-Lee, Tim; Connolly, Daniel "Dan" (November 1995). "Hypertext Markup Sprache - 2.0". Internettechnik-Arbeitsgruppe. Abgerufen 2015-09-13.
- Berners-Lee, Tim; Fielding, Roy T.; Massinter, Larry (August 1998). Einheitliche Ressourcenidentifikatoren (URI): Generische Syntax. doi:10.17487/rfc2396. RFC 2396. Abgerufen 2015-08-31.
- Hansen, Tony; Hardie, TED (Juni 2015). Thaler, Dave (Hrsg.). Richtlinien und Registrierungsverfahren für URI -Programme. doi:10.17487/rfc7595. RFC 7595.
- Essen, Michael; Denenberg, Ray, Hrsg. (August 2002). Bericht aus der gemeinsamen Interessengruppe W3C/IETF URI -Planung: Einheitliche Ressourcenkennungen (URIs), URLs und einheitliche Ressourcennamen (URNs): Klarstellungen und Empfehlungen. doi:10.17487/rfc3305. RFC 3305. Abgerufen 2015-09-13.
- Berners-Lee, Tim; Fielding, Roy T.; Massinter, Larry (Januar 2005). Einheitliche Ressourcenidentifikatoren (URI): Generische Syntax. doi:10.17487/rfc3986. RFC 3986. Abgerufen 2015-08-31.
- Berners-Lee, Tim; Fielding, Roy T.; Massinter, Larry (Januar 2005). Einheitliche Ressourcenidentifikatoren (URI): Generische Syntax, Abschnitt 3, Syntaxkomponenten. doi:10.17487/rfc3986. RFC 3986. Abgerufen 2015-08-31.
- "Eine Einführung in mehrsprachige Webadressen". 2008-05-09. Abgerufen 2015-01-11.
- Phillip, A. (2014). "Was passiert mit" internationalen URLs "". World Wide Web Konsortium. Abgerufen 2015-01-11.
- Lawrence, Eric (2014-03-06). "Browser Arcana: IP -Literale in URLs". docs.microsoft.com. Archiviert vom Original am 2020-06-22. Abgerufen 2020-06-22.