我们经常用浏览器访问各种网页,也经常会在浏览器的地址栏中输入网址,也叫地址。这里经常说的“网址”“地址”,其实叫URL更准确。笔者最近工作当中接触URL比较多,于是抽时间解了一下URL到底是什么,现在把学到的东西记录下来,分享一下。
URL(Uniform Resource Locator)是统一资源定位符的缩写,用于描述一台特定服务器上某一资源的特定位置。URL一般由三部分组成,分为方案,服务器的域名和服务器上阿某个特定资源。
1. URL的组成
1). 方案:这里的方案通常是各种网络协议,或者称为访问方法。例如http, ftp, file, matio, news, rtsp等;
2). 服务器的域名:也可以是服务器的IP地址,例如www.baidu.com和110.242.68.4, www.csdn.net和39.106.226.142但是IP地址对于我们来说不便于记忆,于是才有了域名这个东西。看下面这张截图轻易就能知道哪种方式更便于我们记忆。
3). 服务器上的某个资源:内容的源头,服务器中的存储的所有内容都是资源,就是我们最终想要的东西。
例如笔者在写这篇博客的时候,插入的IpAddr这张图片的URL,
https://img-blog.csdnimg.cn/554150cf3ba84ddabc0ddd560572d9b7.png
访问它要使用的是https协议,存放这张图片的服务器域名是img-blog.csdnimg.cn,这张图片在这个服务器上叫554150cf3ba84ddabc0ddd560572d9b7.png,在浏览器地址栏中输入上面的URL,就能看到这张图片了。
由1.1).节 可以看出URL很多,这是因为不同的URL有不同的用途,通常web服务器一般是用http或者https,访问ftp服务器一般使用ftp。有时根据需要还要包含用户名,密码和服务器的端口号等。
例如:
访问web服务器:http://user:password@www.glasscom.com:80/dir/file1.html
FTP协议传输文件:ftp://user:password@www.glassrom.com:21/dir/file1.html
2.URL格式
3.一些非典型但是常见的URL。
以笔者上传的一个数据集的URL和CSDN首页的URL为例。
LinkPrediction相似性计算方法示例.rar_链路预测python-spark文档类资源-CSDN下载https://download.csdn.net/download/X_s_yu/12157689/ 1). 下面这个URL省略了文件名,但它是一个合法的URL,因为没有文件名,CSDN的服务器会访问这个目录下的index.html文件或者default.html文件。
https://download.csdn.net/download/X_s_yu/12157689/
2). 下面这个URL相对于上面的少了一个“/”,这个时候服务器会怎么处理呢?按照惯例,如果CSDN的服务器上存在12157689的文件,就会将其作为文件名来处理,如果存在12157689的目录;则会按照目录名来处理,如果按照目录名来处理就和1).是一样的。实际上,是不存在12157698的文件名的,因此CSDN问服务器把它当成目录名来处理的,因此两个URL看到的是同一个页面。
https://download.csdn.net/download/X_s_yu/12157689
3). 下面这个URL可以访问CSDN首页,这个URL是以“/”结尾的,表明它可以访问一个目录名为“/”的目录,因为省略了文件名,所以最终会访问到的是default.html文件或者/index.html文件。
https://www.csdn.net/
4). 下面这个URL同样可以访问CSDN首页。当没有路径名的时候,访问的是根目录下预先设置的默认文件。
https://www.csdn.net
上面的这些类型的URL一般情况下会按照本文说的处理,但是不同的组织有不同的策略,也会存在和本文第3节不符的情况。