Подтвердить что ты не робот

Разница между относительным путем и абсолютным путем в javascript

Есть небольшие уточнения,

Насколько мне известно, это относительные и абсолютные пути,

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

В чем разница между относительным и абсолютным путями?

Существуют ли проблемы с производительностью при использовании этих путей?

Получим ли мы какой-нибудь безопасный для сайтов?

Есть ли способ преобразования абсолютного пути в относительный

4b9b3361

Ответ 1

В чем разница между относительным путем и абсолютным путем?

Нужно рассчитывать по отношению к другому URI. Другой не делает.

Существуют ли какие-либо проблемы с производительностью для использования этих путей?

Ничего существенного.

Мы получим любую безопасность для сайтов?

Нет

Есть ли способ преобразования абсолютного пути в относительный

В действительно упрощенных выражениях: работая слева направо, попробуйте сопоставить схему, имя хоста, а затем сегменты пути с URI, с которым вы пытаетесь быть относительно. Остановитесь, если у вас есть соответствие.

Ответ 2

Путь со ссылкой на корневой каталог называется абсолютным. Путь со ссылкой на текущий каталог называется relative.

Ответ 3

Полностью относительный:

<img src="kitten.png"/>

это действительно относительный путь.

Абсолютный во всех отношениях:

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

это URL-адрес, и его можно как-то увидеть как абсолютный путь, но он не является репрезентативным по этому вопросу.

Разница между относительными и абсолютными путями заключается в том, что при использовании относительных путей вы принимаете в качестве ссылки текущий рабочий каталог, а с абсолютными путями ссылаетесь на определенный, известный каталог. Относительные пути полезны, когда вы создаете какую-либо программу, которая должна использовать ресурсы из определенных папок, которые можно открыть, используя рабочий каталог в качестве отправной точки.

Пример относительных путей:

  • image.png, что эквивалентно .\image.png (в Windows) или ./image.png (в другом месте). . явно указывает, что вы выражаете путь относительно текущего рабочего каталога, но это подразумевается всякий раз, когда путь не начинается в корневом каталоге (обозначается косой чертой), поэтому вам необязательно использовать его (за исключением определенных контекстов, где используется каталог по умолчанию (или список каталогов для поиска) будет применяться, если вы явно не укажете какой-либо каталог).

  • ..\images\image2.jpg Таким образом, вы можете получить доступ к ресурсам из каталогов на один шаг вверх по дереву папок. ..\ означает, что вы вышли из текущей папки, входящий в каталог, содержащий как рабочие, так и images папки. Опять же, используйте \ в Windows и / где-либо еще.

Пример абсолютных путей:

  • D:\documents\something.doc
  • E:\music\good_music.mp3

и т.д.

Ответ 4

Представьте, что у вас открыто окно http://www.foo.com/bar/page.html Во всех них (HTML, Javascript и 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

В HTML и Javascript base_path основан на открывшемся окне. В больших проектах javascript вам нужна переменная BASEPATH или root для временного хранения base_path. (например, this)

В CSS открытый url - это адрес, в котором хранится или загружается ваш .css, его не то же самое, что и javascript с текущим открытым окном в этом случае.

И для того, чтобы быть более безопасным в абсолютных путях, рекомендуется использовать // вместо http:// для возможных будущих миграций до https://. В своем примере используйте его следующим образом:

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

Ответ 5

Относительные пути

Относительный путь предполагает, что файл находится на текущем сервере. Использование относительных путей позволяет вам создать свой сайт в автономном режиме и полностью протестировать его перед загрузкой.

Например:

php/webct/itr/index.php

,

Абсолютные Пути

Абсолютный путь относится к файлу в Интернете, используя его полный URL. Абсолютные пути точно указывают браузеру, куда идти.

Например:

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

Абсолютные пути легче использовать и понимать. Тем не менее, это не очень хорошая практика на вашем собственном сайте. Во-первых, использование относительных путей позволяет вам создать свой сайт в автономном режиме и полностью протестировать его перед загрузкой. Если бы вы использовали абсолютные пути, вам пришлось бы изменить свой код перед его загрузкой, чтобы заставить его работать. Это также будет иметь место, если вам когда-либо приходилось перемещать свой сайт или если вы изменили доменные имена.

Ссылка: http://openhighschoolcourses.org/mod/book/tool/print/index.php?id=12503

Ответ 6

Если вы используете относительную версию на http://www.foo.com/abc, ваш браузер будет смотреть http://www.foo.com/abc/kitten.png для изображения и получится 404 - не найден.

Ответ 7

Относительный относительный:

  • Вы можете загрузить автономный каталог (возможно, заархивированный файл) и открывать ссылки из html или xml локально, без необходимости сервер. Это значительно повышает скорость работы, особенно если вам приходится иметь дело с медленной сетью.

Переход Абсолют:

  • Вам придется усвоить скорость сети, но с точки зрения безопасности вы можете запретить определенным пользователям видеть определенные файлы или увеличивать если (и только если...), что хорошо для вас.

Ответ 8

Я думаю, что этот пример поможет вам понять это более просто.

Разница в пути в Windows

Абсолютный путь к Windows C:\Windows\calc.exe

Не абсолютный путь Windows (относительный путь) calc.exe

В приведенном выше примере абсолютный путь содержит полный путь к файлу, а не только файл, как показано в абсолютном пути. В этом примере, если вы были в каталоге, который не содержит "calc.exe", вы получите сообщение об ошибке. Однако при использовании абсолютного пути вы можете находиться в любом каталоге, и компьютер будет знать, где можно открыть файл "calc.exe".

Разности путей в Linux

Абсолютный путь Linux /Главная/пользователей/с/computerhope/public_html/CGI-BIN

Linux не абсолютный путь (относительный путь) /Public _html/CGI-BIN

В этом примере абсолютный путь содержит полный путь к каталогу cgi-bin на этом компьютере. Как найти абсолютный путь к файлу в Linux Поскольку большинство пользователей не хотят видеть полный путь в качестве приглашения, по умолчанию приглашение относится к их личному каталогу, как показано выше. Чтобы найти полный абсолютный путь к текущему каталогу, используйте команду pwd.

Лучше всего использовать относительные пути к файлам (если это возможно).

При использовании относительных путей к файлу ваши веб-страницы не будут привязаны к вашему текущему базовому URL. Все ссылки будут работать на вашем собственном компьютере (localhost), а также в вашем текущем общедоступном домене и ваших будущих общедоступных доменах.