本文主要是介绍Web学习笔记:URL、URN和URI,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本篇文章是对自己学习的一个总结,学习资料是JSP&Servlet学习笔记(第三版),林信良著,清华大学出版社出版。
什么是URL、URN和URI,我们先看一下他们的全名。
- URL:Uniform Resource Locator
- URN:Uniform Resource Name
- URI:Uniform Resource Identifier
从名字来看,大概知道他们的作用。
-
URL
URL就是统一资源定位器,顾名思义,它是以文字方式来说明互联网上的资源如何取得。比如早期的额RFC1738,URL的主体语法格式是
<scheme>:<scheme-specific-part> //比如https: 资源地址
scheme(协议)就是指定了要用何种协议取得资源。比如FTP(文件传输协议),HTTP(超文本传输协议),Mailto(电子邮件)。
协议的特定部分<scheme-specific-part>的格式根据特定的协议而定,通常是
//<用户>:<密码>@<主机>:<端口号>/<路径>
常见的URL不会显示密码和用户,一般只显示后面几项。比如我们连接数据库时,连接数据库的配置信息会这样写
jdbc:mysql://localhost:3306/product
jdbc:mysql是协议(不知道这里我理解的对不对),//localhost:3306/product是省略了用户和密码,只显示主机、端口号和路径信息。主机是localhost, 端口号是3306,路径是/product。
有比如我们访问某一个超文本,输入的URL如下
https://openhome.cc:8080/gossip/index.html
其中https是协议,openhome.cc是主机名,8080是端口号,/gossip/index.html是超文本资源的路径
-
URN
URN是某个资源独一无二的名称,比如JavaJDK 9学习笔记的国籍标准书号如果用URN来表示的话,应该为urn:isbn978-7-302-50118-3,具体语法规则不用了解太详细。不过URN貌似在计算机网络中没什么用(至少目前我没看到过这东西在实际开发中有什么用)。
-
URI
前面提到URL和URN都是用来定位一个资源,后来出现了一个URI标准,这个标准的定义就是只要能定位到一个资源,那就是URI。所以URI是一种抽象概念,URL和URN是具体的规则,所以URL和URN属于URI。
不过在开发中,HttpServletRequest中的getRequestURI和getRequestURL关系不是那么简单,这个以后再说。
这篇关于Web学习笔记:URL、URN和URI的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!