buch Unterschied zwischen dem relativen Pfad und dem absoluten Pfad in Javascript




html css tutorial (7)

Wenn Sie die relative Version auf http://www.foo.com/abc Ihr Browser http://www.foo.com/abc/kitten.png für das Bild sehen und 404 - Nicht gefunden bekommen.

Habe kleine Klarstellungen,

Nach meinem Wissen sind dies die relativen und absoluten Wege,

Completely relative: <img src="kitten.png"/>   
Absolute in all respects: <img src="http://www.foo.com/images/kitten.png">

Was ist der Unterschied zwischen dem relativen Pfad und dem absoluten Pfad?

Gibt es Leistungsprobleme bei der Verwendung dieser Pfade?

Wir werden sicher für die Seiten bekommen?

Gibt es eine Möglichkeit, den absoluten Pfad in einen relativen zu konvertieren?


Answer #1

Der Pfad mit Bezug auf das Wurzelverzeichnis heißt absolut . Der Pfad mit Bezug auf das aktuelle Verzeichnis wird als relativ bezeichnet .


Answer #2

Relative Pfade

Ein relativer Pfad setzt voraus, dass sich die Datei auf dem aktuellen Server befindet. Mithilfe relativer Pfade können Sie Ihre Website offline erstellen und vollständig testen, bevor Sie sie hochladen.

Beispielsweise:

php/webct/itr/index.php

.

Absolute Pfade

Ein absoluter Pfad bezieht sich auf eine Datei im Internet unter Verwendung der vollständigen URL. Absolute Pfade sagen dem Browser genau, wohin er gehen soll.

Beispielsweise:

http://www.uvsc.edu/disted/php/webct/itr/index.php

Absolute Pfade sind einfacher zu verwenden und zu verstehen. Es ist jedoch keine gute Übung auf Ihrer eigenen Website. Zum einen ermöglicht die Verwendung relativer Pfade, dass Sie Ihre Website offline erstellen und vollständig testen, bevor Sie sie hochladen. Wenn Sie absolute Pfade verwenden würden, müssten Sie Ihren Code vor dem Hochladen ändern, damit er funktioniert. Dies ist auch dann der Fall, wenn Sie Ihre Site verschieben oder die Domain ändern müssen.

Referenz: http://openhighschoolcourses.org/mod/book/tool/print/index.php?id=12503


Answer #3

Relativ gehen:

  • Sie können ein eigenständiges Verzeichnis (z. B. eine gezippte Datei) herunterladen und Links von einem HTML- oder XML-Dokument lokal öffnen, ohne dass Sie den Server erreichen müssen. Dies erhöht die Geschwindigkeit erheblich, besonders wenn Sie mit einem langsamen Netzwerk zu tun haben.

Absolut gehen:

  • Sie müssten die Netzwerkgeschwindigkeit herunterspielen, aber in Bezug auf die Sicherheit könnten Sie verhindern, dass bestimmte Benutzer bestimmte Dateien sehen oder den Netzwerkverkehr erhöhen, wenn (und nur wenn ...) das für Sie gut ist.

Answer #4

Ich denke, dieses Beispiel wird Ihnen helfen, dies einfacher zu verstehen.

Pfadunterschiede in Windows

Absoluter Windows-Pfad C: \ Windows \ calc.exe

Windows nicht absoluter Pfad (relativer Pfad) calc.exe

Im obigen Beispiel enthält der absolute Pfad den vollständigen Pfad zur Datei und nicht nur die Datei, die im nicht absoluten Pfad angezeigt wird. Wenn Sie sich in diesem Beispiel in einem Verzeichnis befinden, das "calc.exe" nicht enthält, erhalten Sie eine Fehlermeldung. Wenn Sie jedoch einen absoluten Pfad verwenden, können Sie sich in einem beliebigen Verzeichnis befinden, und der Computer weiß, wo die Datei "calc.exe" geöffnet werden muss.

Pfadunterschiede in Linux

Linux absoluter Pfad / home / Benutzer / c / computerhope / public_html / cgi-bin

Linux nicht absoluter Pfad (relativer Pfad) / public_html / cgi-bin

In diesem Beispiel enthält der absolute Pfad den vollständigen Pfad zum Verzeichnis cgi-bin auf diesem Computer. So finden Sie den absoluten Pfad einer Datei in Linux Da die meisten Benutzer den vollständigen Pfad nicht als Eingabeaufforderung sehen möchten, ist die Eingabeaufforderung standardmäßig relativ zu ihrem persönlichen Verzeichnis, wie oben gezeigt. Um den vollständigen absoluten Pfad des aktuellen Verzeichnisses zu finden, verwenden Sie den Befehl pwd.

Es empfiehlt sich, relative Dateipfade zu verwenden (wenn möglich).

Wenn Sie relative Dateipfade verwenden, sind Ihre Webseiten nicht an Ihre aktuelle Basis-URL gebunden. Alle Links funktionieren auf Ihrem eigenen Computer (localhost) sowie auf Ihrer aktuellen öffentlichen Domain und Ihren zukünftigen öffentlichen Domains.


Answer #5

Was ist der Unterschied zwischen dem relativen Pfad und dem absoluten Pfad?

Man muss in Bezug auf einen anderen URI berechnet werden. Der andere nicht.

Gibt es Leistungsprobleme bei der Verwendung dieser Pfade?

Nichts Wesentliches.

Wir werden sicher für die Seiten bekommen?

Nein

Gibt es eine Möglichkeit, den absoluten Pfad in einen relativen zu konvertieren?

In wirklich vereinfachten Worten: Arbeiten Sie von links nach rechts und versuchen Sie, das Schema, den Hostnamen und dann die Pfadsegmente mit dem URI zu vergleichen, mit dem Sie relativ arbeiten möchten. Stoppen Sie, wenn Sie eine Übereinstimmung haben.


Answer #6

Stellen Sie sich vor, Sie haben ein Fenster geöffnet auf http://www.foo.com/bar/page.html In allen (HTML, Javascript und CSS):

opened_url = http://www.foo.com/bar/page.html
base_path = http://www.foo.com/bar/
home_path = http://www.foo.com/
/kitten.png = Home_path/kitten.png
kitten.png = Base_path/kitten.png

In HTML und Javascript basiert der Basispfad auf dem geöffneten Fenster. In großen JavaScript-Projekten benötigen Sie eine BASEPATH oder root Variable, um den base_path gelegentlich zu speichern. ( this )

In CSS ist die geöffnete URL die Adresse, von der Ihre .css gespeichert oder geladen wird, es ist nicht dasselbe wie Javascript mit dem aktuell geöffneten Fenster in diesem Fall.

Und um in absoluten Pfaden sicherer zu sein, wird empfohlen, // anstelle von http:// für mögliche zukünftige Migrationen zu https:// . In Ihrem eigenen Beispiel verwenden Sie es so:

<img src="//www.foo.com/images/kitten.png">




css