0

0

绝对地址和相对地址的概念

一个新手

一个新手

发布时间:2017-10-19 09:05:03

|

4543人浏览过

|

来源于php中文网

原创

绝对地址和相对地址是网站开发基础知识中很重要的知识点。
1.在网页中插入文件时,不可以使用硬盘的绝对路径
    举个例子,在网页中插入图片,代码如下:






插入图片


绝对地址和相对地址的概念绝对地址和相对地址的概念

    意思是:插入一张图片,图片路径是“E:\MyDocument\Pictures\1.jpg”。
    即:这张图片是放在电脑的“E:\MyDocument\Pictures\”文件夹里,图片文件名是:“1.jpg”。但是,这样的代码是错误的。
    (1)由于HTML代码是客户端标记语言,这段代码实际是告诉浏览器:显示一张图片,它放在客户端浏览者硬盘中的某个文件夹中。但实际上前端代码并没有读取浏览者硬盘文件的权限,它涉及计算机数据的安全,如果没有加以限制,那么通过网页就可以直接删除或格式化浏览者的硬盘数据,又或者读取浏览者的硬盘数据往网络上上传,任何安全和隐私都将不存在。所以这种越权读取文件或数据的代码,网页无法成功执行。
    (2)网站开发者的电脑在该路径位置确实存在这张图片,那么即使在网站开发者的浏览器中测试能正常显示该图片,当将该网页上传到服务器或虚拟主机中,他人访问网页时仍然是无法正常看到该图片的。该图片并不存在于浏览者的硬盘中(这张图片只存在于网站开发者的电脑中)。
    所以在网页中插入图片或其它文件时,不可以使用硬盘的绝对路径。
2.认识绝对地址和相对地址
    例一,假设我们电脑E盘的目录和文件结构如下图:

(图2-39)
    根据“E:\UPUPW_AP5.6\Apache2\conf\httpd-vhosts.conf”里的配置,“E:\UPUPW_AP5.6\htdocs\”对应网址“http://127.0.0.1/”,那么:
    (1)“E:\UPUPW_AP5.6\htdocs\”的“htdocs”文件夹是网站的(服务器物理路径)根目录。
“http://127.0.0.1/”的最后一个斜杠“/”代表网站的(虚拟路径)根目录。
    这两者呈对应关系。我们如果要访问“E:\UPUPW_AP5.6\htdocs\index.html”这个网页文件,对应的网址是“http://127.0.0.1/index.html”;如果要访问“E:\UPUPW_AP5.6\htdocs\images\001.jpg”这个图片文件,对应的网址是“http://127.0.0.1/images/001.jpg”。
    (2)假如我们在“E:\UPUPW_AP5.6\htdocs\index.html”这个网页文件中插入图片“E:\UPUPW_AP5.6\htdocs\images\001.jpg”,正确的代码写法有三种:
        ①绝对地址和相对地址的概念(这是相对地址,相对于“index.html”网页本身的地址)
        ②绝对地址和相对地址的概念(这是绝对地址,以“/”开头。“/”对应网站的根目录,即从网站的根目录“E:\UPUPW_AP5.6\htdocs\”算起)
        ③绝对地址和相对地址的概念(这也是绝对地址,是一条完整的网址。但对站内文件的引用不推荐这种写法,一旦网站换域名就要修改很多代码,增加了维护成本。)
    (3)假如我们在“E:\UPUPW_AP5.6\htdocs\member\login.html”这个网页文件中插入图片
“E:\UPUPW_AP5.6\htdocs\images\001.jpg”,那么正确的写法有三种:
        ①绝对地址和相对地址的概念(这是相对地址,相对于“login.html”网页本身的路径。“../”代表往上一层文件夹,当前“login.html”在“member”文件夹中,“login.html”往上一层文件夹则到达“htdocs”文件夹,到达“htdocs”文件夹后,再定位“images/001.jpg”即是“E:\UPUPW_AP5.6\htdocs\images\001.jpg”)
        ②绝对地址和相对地址的概念(这是绝对地址,以“/”开头。“/”对应网站的根目录,即从网站的根目录“E:\UPUPW_AP5.6\htdocs\”算起)
        ③绝对地址和相对地址的概念(这也是绝对地址,是一条完整的网址。对站内文件的引用不推荐使用这种形式。)
    (4)区分斜杠(/)和反斜杠(\)的使用
    按常识,硬盘中的物理路径使用的是反斜杠(\),如:“E:\UPUPW_AP5.6\htdocs\”,那么我们可以这样记忆:反斜杠(\)用于硬盘的物理路径。
    除了物理路径,网址、网站中涉及路径的,我们均使用斜杠(/),如:“/images/001.jpg”。
    (5)相对地址、绝对地址也有人称为相对路径、绝对路径。
    例二,假设我们电脑E盘的目录和文件结构如下图:

(图2-40)
    根据“E:\UPUPW_AP5.6\Apache2\conf\httpd-vhosts.conf”里的配置,“E:\UPUPW_AP5.6\htdocs\”对应网址“http://127.0.0.1/”,那么:
    (1)“E:\UPUPW_AP5.6\htdocs\”的“htdocs”文件夹是网站的(服务器物理路径)根目录。
“http://127.0.0.1/”的最后一个斜杠“/”代表网站的(虚拟路径)根目录。
    这两者呈对应关系。我们如果要访问“E:\UPUPW_AP5.6\htdocs\new\a\b\reg.html”这个网页文件,对应的网址是:“http://127.0.0.1/new/a/b/reg.html”,如果要访问“E:\UPUPW_AP5.6\htdocs\new\a\b\c\002.jpg”这个图片文件,对应的网址是:“http://127.0.0.1/new/a/b/c/002.jpg”。
    (2)假如我们在“E:\UPUPW_AP5.6\htdocs\new\a\b\reg.html”这个网页文件中插入图片“E:\UPUPW_AP5.6\htdocs\new\a\b\c\002.jpg”,那么正确的代码写法有三种:
        ①绝对地址和相对地址的概念(相对地址)
        ②绝对地址和相对地址的概念(绝对地址)
        ③绝对地址和相对地址的概念(绝对地址)
    (3)假如我们在“E:\UPUPW_AP5.6\htdocs\new\a\b\reg.html”这个网页文件中插入图片“E:\UPUPW_AP5.6\htdocs\new\d\e\003.jpg”,那么正确的代码写法有三种:
        ①绝对地址和相对地址的概念(相对地址)
        ②绝对地址和相对地址的概念(绝对地址)
        ③绝对地址和相对地址的概念(绝对地址)
    (4)假如我们在“E:\UPUPW_AP5.6\htdocs\new\a\b\reg.html”这个网页中,要链接“E:\UPUPW_AP5.6\htdocs\new\d\e\test.html”这个网页,那么正确的代码写法有三种:
        ①test(相对路径)
        ②test(绝对路径)
        ③test(绝对路径)
    (5)假如我们在“E:\UPUPW_AP5.6\htdocs\new\a\b\reg.html”这个网页中,要链接“E:\UPUPW_AP5.6\Apache2\”文件夹中的文件,有办法吗?


    test(错误)

    当网站的物理路径根目录在服务器里(Apache)配置为“E:\UPUPW_AP5.6\htdocs\”,那么绝对地址开头的“/”符号即是指网站的根目录,对应“E:\UPUPW_AP5.6\htdocs\”;而相对路径“../../../../../../../../”无论向上多少层,最上层只能到达网站的根目录“E:\UPUPW_AP5.6\htdocs\”,不会再向上一层。这也是属于安全问题。假如通过向上一层的路径关系可以突破我们配置的网站物理路径根目录“E:\UPUPW_AP5.6\htdocs\”,那么意味着通过网页可以链接和使用服务器里的任意文件,包括服务器系统盘里的系统文件。当使用网页程序语言(如ASP、PHP、.NET、JSP)来编写网站代码时,那么将可以操作读取服务器里的任意文件,还可以删除服务器里的任意文件,包括服务器的系统文件……这是多么可怕的事情。所以涉及服务器安全性的问题,会有权限限制。

伴江行购物联盟(多用户)美化修改
伴江行购物联盟(多用户)美化修改

功能完善、展示信息丰富的电子商店销售平台;针对企业与个人的网上销售系统;开放式远程商店管理;完善的订单管理、销售统计、结算系统;强力搜索引擎支持;提供网上多种在线支付方式解决方案;强大的技术应用能力和网络安全系统,完美的傻瓜开店功能,自主经营,管理后台登陆账号:admin 密码:admin 登陆地址/admin/login.asp商家测试帐号:admin 密码:admin 登陆地址/user/ad

下载

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

22

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

99

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

132

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

15

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

65

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

61

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

63

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Webpack4.x---十天技能课堂
Webpack4.x---十天技能课堂

共20课时 | 1.4万人学习

ECMAScript6 / ES6---十天技能课堂
ECMAScript6 / ES6---十天技能课堂

共25课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号