网址最后面不带斜杠与带斜杠有什么区别

news/2024/11/7 7:38:46/

网址最后面不带斜杠与带斜杠有什么区别

  • 文件与文件夹
  • 解析 URL

  关于网址中最后面的那个斜杠 /,很多人习惯性的不输入,原因是他们认为有或者没有没有区别。但这要归功于服务器那端的开发人员的努力。实际上,从概念上来讲,URL 的后缀带斜杠与不带是有区别的。解释这个原因之前,首先需要知道文件与文件夹的区别。

文件与文件夹

  文件代表用户存放的数据,而文件夹代表了文件之间的、由用户自定义的逻辑位置分布。从概念上讲,文件会占用一定的大小,而文件夹不会,因为文件夹不是数据本身。

  文件夹也可称为目录(有人认为文件夹(folder)与目录(directory)不是一码事。深究起来,的确如此。不过如果不加入深究,就本文而言,这两个概念是一码事)。如果从数据结构的观点来看,将文件与文件夹看作是一个多叉树,并规定此多叉树的非终端结点上不能存放数据,则文件就相当于此多叉树的终端结点,而文件夹则相当于此叉树的非终端结点。

  平时,当我们问“这个文件夹有多大”时,实际上问的是这个文件夹内的文件以及其各级子文件夹内的文件的大小总合,其中,这里“文件夹内的文件”仅指与这个文件夹(目录)下一级的目录同级的文件。

解析 URL

  一个日常见到的 URL 的格式如下:

协议名://域名/资源路径

  比如下面的这个笔者虚构的网址:(此网址是笔者虚构的,笔者也不知道此网址对应的网站是否存在。为了安全,希望读者不要因为好奇而点开此网址。)

https://www.domainname.com/dir/page.html

  协议名与域名这个不易混淆,容易混淆的是这之后的内容 /dir/page.html。很多人知道这是一种相对路径,不过实际上这个概念还可以再拆解。

  • 根目录:/
  • 文件夹:dir/
  • 文件:page.html

  这就是说,紧跟域名之后的斜杠 /,实际上指根目录。在路径中,一个标识符如果后面带斜杠 /,说明该标识符为一个文件夹的名称,如果不带斜杠 /,说明该标识符为一个文件的名称。


  有时也能看到直接访问目录的情况。如下面的网址代表访问的是根目录:

https://www.domainname.com/

  按照前面的概念,文件夹不是数据,所以最终访问的内容不能是文件夹。在这种情况下,将默认访问该目录设置的该目录下的某个文件,如 index.html 等。


  有时,使用后缀斜杠 / 来标识文件夹这种规则可适当放宽,比如对于路径中的最后一个标识符:

https://www.domainname.com/dir/unknown

  这里,unknown 可以为一个文件名,也可以为文件夹名。这种不确定因素存在的合理性在于,一般操作系统不会允许文件名与文件夹名相同。也就是说,如果上述的目录 dir 下存在名为 unknown 的文件,则不可能同时存在名为 unknown 的文件夹。


  不过,不要小看用户的创造能力。有的人在输入网址时,甚至连紧跟域名之后的斜杠以及之后的所有内容都不给出了,比如:

https://www.domainname.com

  不要指望让用户输入网址之前,先学习 URL 的语法。因此,需要对此情形作出规定。在这种情况下,访问的是该域名设置的默认文件(有时也称为主页(home page))。注意,从概念上,这访问的并不是根目录,不过,通常设置为根目录。


  另外,上面给出的只是一种对 URL 的默认解释。实际上,无论用户输入怎样的 URL,在服务器一端,开发人员都可以自由地解释与决定用户的访问。不过,应使用一种公认的标准来解析与引导用户的访问。


http://www.ppmy.cn/news/884459.html

相关文章

动态网址与静态网址

2008年10月20日 下午 04:25:00 转载自谷歌中文网站管理员博客发表者: Juliane Stiller 与 Kaspar Szymanski,搜索质量组原文: Dynamic URLs vs. static URLs 发表于:2008年9月22日,下午3: 20 在跟网络管理员沟通时经常会出现这种情形,一些广为传播的理念可能在过去是正确的…

常用网址-2023整理

办公&效率 人民币大写转换 人民币大写 人民币RMB数字转大写汉字工具 我的账单 - 支付宝 Bypass - 分流抢票 Zen Flowchart - 在线流程图 MindMaster - 在线思维导图 【抠图】在线抠图软件_AI抠图证件照换底色-稿定设计 Visio模板推荐与VisualNet图库转化 语音转文字 iconfo…

linux测试网址是否可以访问,linux命令监测网址是否正常访问

简单有效的linux命令监测网址是否正常访问 run.sh #!/bin/bash result_codecurl -I -m 10 -o /dev/null -s -w %{http_code} http://abc.com/info.do echo $result_code #这里自定义成功状态时候的编码,这里是302重定向 if [ $result_code "302" ];then …

能用的谷歌网址大全

网址总结在 点击打开链接 http://coderschool.cn/1853.html

失效网址访问方法

无意在b站上面看视频。发现了一个很好用的工具。叫做Archive。相当于一个网站的时光机。你经常会遇到有一些网页出现404打不开的情况。这个时候有可能是因为网页它的网址发生了变更。有什么办法可以找到新变更的网址呢? 网址 https://archive.org/ 不光可以存储网页…

Linux中每个进程的状态(stat)

在Linux中,每个进程都有一个状态,这个状态表示进程目前所处的生命周期阶段。你可以通过ps命令来查看进程的状态。以下是在ps命令输出中可能出现的进程状态代码,以及它们的含义: R (Running): 进程正在运行,…

通过css实现-让页面的footer始终位于底部

当页面内容全部占满时&#xff0c;滑动到最下面&#xff0c;显示footer在底部&#xff1b; 当页面内容不满时&#xff0c;footer也是在最底部显示。 具体实现代码如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><t…

手写对象浅比较(React中pureComponent和Component区别)

PureComponent和Component的区别 PureComponent会给类组件默认加一个shouldComponentUpdate这样的周期函数 //PureComponent类似自动加了这段shouldComponentUpdate(nextProps,nextState){let { props, state } this;// props/state:修改之前的属性状态// nextProps/nextState…