• 讲讲URL与URI的区别


    刚开始学Java不太理解URL和URI的内容,在网上查阅资料后这里贴贴整理一些大佬的总结

    URL类

    URL可以唯一地标识一个资源在 Internet 上的位置。

    URL类是 Java 程序在网络上定位和获取数据的最简单的方法。URL除了标识一个资源,还会为资源提供一个特定的网络位置,客户端可以用来获取这个资源的一个表示。而URI,只能告诉你一个资源是什么,但是无法告诉你它在那里,以及如何得到这个资源。

    URL语法

    URL语法为:protocol://userInfo@host:port/path?query#fragment

    • 协议部分:file,ftp,http,https,magnet,telnet
    • 用户信息:服务器登录信息
    • 用户信息,主机,端口在一起构成权威机构
    • 查询字符串向服务器提供附加参数。一般只在http URL中使用,包含表单数据,作为输入提供给在这个服务器上运行的程序。
    • 片段:指向远程资源的某个特定部分。片段标识符目标在HTML文档中用Id属性创建。

    URI类

    统一资源标识符采用特定语法标识一个资源的字符串。资源是由URI标识的内容,URI是标识一个资源的字符串。

    URI语法

    URI的语法由一个模式和一个模式特定组成部分组成,用冒号分隔。如
    模式:模式特定部分
    模式包括:data,file,ftp,http,mailto,magnet,telnet,urn
    模式特定部分无特定语法,很多采用层次结构形式如://authority/path?query

    URI和URL的区别

    URI是对URL的抽象。java.net.URI与java.net.URL类的区别:

    URI类完全有关于资源的标识和URI的解析,没有提供方法来获取URI所标识资源的表示
    相比URL类,URI类与相关的规范更一致
    URI对象可以表示相对URI,URL类在存储URI之前会将其绝对化
    一句话,URL对象是对应网络获取的应用层协议的一个表示,而URI对象纯粹用于解析和处理字符串。

    uri和url的关系

    uri是url的父级,url是uri的子级。
    可能有人就奇怪了,咦?明明是url包含了uri为啥uri反而是父级?
    请注意,我这里用的是级别来描述,而不是包含。
    我没有说url是uri的一部分,而是说是他的子级。
    想要理解这个概念,最好的说明就是java的继承关系。url继承了uri。这样来看是不是瞬间就明白了。
    因为url继承了所有uri的内容,所以它比uri更加详细,但是uri是它的父级。

    有什么作用?

    url的作用

    url一般是一个完整的链接,我们可以直接通过这个链接(url)访问到一个网站,或者把这个url复制到浏览器访问网站。
    使用URL时我们就是一个直接用户的角色,直接访问就完事了。

    uri的作用

    uri并不是一个直接访问的链接,而是相对地址(当然如果相对于浏览器那么uri等同于url了)。这种概念更多的是用于编程中,因为我们没必要每次编程都用绝对url来获取一些页面,这样还需要进行分割“http://xx/xxx”前面那一串,所以编程的时候直接request.getRequestURI就行了,当然如果是重定向的话,就用URL。

    本文摘抄自:
    uri和url的区别与联系(一看就理解)
    URL和URI

  • 相关阅读:
    2024春季春日主题活动策划方案
    anime4k 在真机租用上的应用尝试
    vue3后台管理框架之API接口统一管理
    Java方法中不使用的对象应该手动赋值为NULL吗?
    java集合,栈
    java学习--day22(进程&线程)
    吐血整理,Jmeter服务端性能测试-线程阻塞问题案例分析(超细)
    Android 13.0 屏蔽Launcher3桌面app图标的长按功能
    图的存储结构之邻接矩阵
    Oracle-在ASM无法正常启动下,修改ASM实例参数
  • 原文地址:https://blog.csdn.net/mfysss/article/details/127872424