Warum ist der Unterschied bei der URL-Formatierung?

570
Lazer
  • Warum enden einige URLs mit, .htmlandere dagegen nicht, während die meisten HTML-Seiten sind?

  • Warum beginnen manche URLs mit denen wwwund einige nicht, während sich alle im World Wide Web befinden?

6
Nicht alle URLs befinden sich im World Wide Web. "ftp: // example.com" verweist nicht auf einen HTTP-Server, auch wenn "http: // example.com" dies tut. quack quixote vor 14 Jahren 0

2 Antworten auf die Frage

4
Snark

Weil die HTML-Seiten heutzutage häufig dynamisch generiert werden.

In der Erweiterung wird meist der Produzent der HTML-Seite beschrieben. Zum Beispiel bedeutet .asp, dass die Seite durch ASP- Code (in eine Seite eingebetteter Programmcode) generiert wurde. Dasselbe gilt für .jsp, Java Server Pages, die sich auf den Serverseiten befinden, die eine Mischung aus HTML- und Java-Code enthalten. Es gibt viele andere Erweiterungen, die denselben Mechanismus verwenden (.do, .aspx, .cf, ...).

Am Ende erhält der Browser nur HTML, aber die gesamte Kompilierung und die Logik wurde auf den Servern ausgeführt.

Für www.mydomain.com bedeutet dies tatsächlich, dass Sie sich mit einem Server (oder Router) namens "www" in der Domäne mydomain.com in Verbindung setzen. Während es eine Konvention ist, sind Sie nicht gezwungen, es zu befolgen. Domänen (in den DNS-Einträgen) können so konfiguriert werden, dass "wenn kein expliziter Servername angegeben ist, Anforderungen an den Webserver senden").

Sie können dem Webserver auch einen anderen Namen geben und ihn extern bekannt machen, z. B. http://mywebserver.mydomain.com .

Beachten Sie, dass der externe Name (www, mywebserver) meistens nicht mit dem physischen Namen des Webservers zusammenhängt. An großen Standorten verarbeiten mehrere Server Anforderungen, die unter einem einzigen Namen stehen.

Wie lautet der Webservername für "http: // stackoverflow.com"? Lazer vor 14 Jahren 0
2
akira

Eine URL besteht aus mehreren Teilen:

  • ein Protokollteil
  • ein Server-Teil
  • ein Datei- / Ressourcenteil

    Protokoll: // Server / Datei_oder_Resource

Der Protokollteil ist http: // oder ftp: // oder ssh: // oder was auch immer Sie sich vorstellen können. Der Serverteil ist alles zwischen dem Protokollteil und dem Datei- / Ressourcenteil

http://google.com/index.html 

In diesem Fall "google.com", in anderen Fällen "user @ machine: port". Dies ist also die Antwort auf Ihre zweite Frage: Einige Maschinen heißen "www.hostname.com" und einige andere heißen "Hostname.com".

Sobald Ihr Browser / Protokoll-Handler über ein Protokoll, das über den Protokollteil der URL beschrieben wird, eine Verbindung mit dem im Serverteil beschriebenen Server herstellt, fragt er den Server nach der im Ressourcenteil angegebenen Ressource. Und das ist die Antwort auf Ihre erste Frage: Sie fragen den Server nach einer Datei / Ressource und der Server antwortet.

http://google.com/index.html <- you ask it for "index.html" 

Wenn der Server es hat, gut. Wenn der Name "foo.bar" lautet und die Datei vorhanden ist, ist das in Ordnung. Wenn der Server weiß, was zu tun ist, wenn Sie ihn nach "more.money" fragen ... cool.

Lesen Sie mehr dazu auf Wikipedia .