最近把 图解HTTP 撸了两遍,为了深入了解一直接触的 http 到底是怎么工作的,是个什么东西
毕竟这是一个痛点啊,虽然说学过 计算机网络(计算机网络补考过了.....),现在感觉毛都不懂啊
面试官:请你讲一下 http? (〃'▽'〃)
讲什么鬼讲,我懂个毛线,心真的痛.......但是我是不会认输的,特别是在大佬 uncle 的教导之下,开始了我万事讲原理的探索之路,ヾ(◍°∇°◍)ノ゙
于是我现在,把自己觉得一些模模糊糊的点给整理一下,说真的,有时候,碰到模糊点,真想跳过,连搜索按钮都不敢点,知识太多,装不进了,真的装不进了
最近碰到 URI、URL 这这个东西傻傻分不清楚,最终还是耐着性子去总结了下
定义
URI 是 统一资源标识符
在 某一规则下 能把一个资源 独一无二地标识 出来
URL 是 统一资源定位符
用 描述位置 来确定 一个资源
URN 是 统一资源名称
通过 名字 来标识资源
下面的图就可以说一目了然了( 图是盗用的 )
URI
URI 最大,包含 URN 和 URL
URI 可以是URL,可以是 URN,可以两个都是
URI 作用是标记一个资源,可以有不同标记的方式
1、通过 URN 的 特定命名空间名字 去标识
URN 定义 资源的身份
使用URN,可以在不知道他的网络位置和访问方式的情况下讨论资源
如果你关心的是网络资源的唯一性,你可以把 URI 定义成 URN 的形式
2、通过 URL 的 地址定位方式 去标识
URL 定义 查找该资源的方法
比如 身份证id 是 42222 的 人,可以有 n个 地址 找到他
如果你关心如何获取到资源,你可以把 URI 定义成 URL 的形式.
URL
从 资源存储位置 的角度去出发
唯一地标识了资源的路径 以及 通过什么协议 获取到资源信息
URN
从为每一个资源起一个 唯一名称 的角度出发
由于为每一个资源起一个唯一的名称显然需要专门的组织机构管理,所以并不是所有的资源都有 URN
例子
一个网络资源,比喻成张三这个人
通过 URN
我们可以用 身份证号 4215648 来独一无二确定 张三的身份
虽然没有告诉你怎么去 找到他,但是你有足够的信息去 检索到他
通过 URL
可以通过 xx 省 xx 市 xx 街道 xx 大厦 xx 楼 xx 号 张三 来定位到他
不论用 地址 还是 编号 的方式,我们都可以唯一确定一个人
都是 URI 的一种实现
结尾
继续 学习 HTTP,继续总结 HTTP
要做到面试的时候,敞开胸膛让他问个透
最后,大佬 uncle 重出职场,祝他工作顺利,前程似锦