美文网首页
Url参数含义 &#%+=...

Url参数含义 &#%+=...

作者: 看谷秀 | 来源:发表于2021-04-20 15:20 被阅读0次

    1.URI---用于标示一个抽象或者物理资源

    URI定义

    URI,通一资源标志符(Universal Resource Identifier, URI),就是由某个协议方案表示的资源的定位标识符,协议方案指的是访问资源所用的协议类型名称。它表示的是web上每一种可用的资源,如 HTML文档、图像、视频片段、程序等都由一个URI进行定位的。

    采用HTTP协议时,协议方案就是http。除此之外,还有ftp、mailto、telnet、file等。标准的URI协议有30种左右。

    URI结构组成

    • ①访问资源的命名机制;
    • ②存放资源的主机名;
    • ③资源自身的名称,由路径表示。

    URI格式

    表示指定的URI,要使用涵盖全部必要信息的绝对URI、绝对URL以及相对URL。相对URL,是指从浏览器中基本的URI处指定的URL。 我们看一下绝对的URI格式。

    d884b6f75c49d34a77234e764a85d666.png.jpeg

    使用http:或https:等协议方案名获取访问资源时要指定协议类型,不区分字母大小,最后附一个冒号。 也可使用data:或javascript:这类指定数据或脚本程序的方案名。!

    字段介绍

    1.scheme:获取资源使用的协议,例如http、ftp等,没有默认值

    2.user:password:用户名与密码,这个是一个特殊的存在,一般访问ftp时会用到,他显示的表明了访问资源的用户名与密码。但是这个可以不写,不写的话可能会让你输入用户名密码

    3.host:主机,访问那台主机,有时候可以是IP,有时候是主机名
    例如www.baidu.com
    port:端口,访问主机时的端口,
    如果http访问默认80,可以省略。

    4.path:通过host:port我们能找到主机,但是主机上文件很多,通过path则可以定位具体文件。
    例如www.baidu.com/file/index.html。则path是/file/index.html,表示我们访问/file/index.html这个文件,他很像linux上的路径。

    5.params:这个很少见,主要作用就是像服务器提供额外的参数,用来表示本次请求的一些特性。
    例如ftp传输模式有两种,二进制和文本,你肯定不希望使用文本形式传输二进制图片,这样你的图片下载下来后可能没法看了。为了向应用程序提供更丰富的信息,URL中有个专门的部分来表示这种参数。
    例如ftp://file.qiandu.com/pub/guid.pdf;type=d其中的type=d就是params

    6.query:通过get方式请求的参数
    例如:www.qiandu.com/index.htmlusername=dgh&passwd=123

    7.fragment:例如www.qiandu.com/index.html#1
    当html页面比较长时,我们通常会将其分为好几段,#1就可以 快速定位到某一段。

    特殊含义                                          十六进制
    + 表示空格(在URL中不能使用空格)                     %2B
     
    / 分隔目录和子目录                                  %2F
     
    ? 分隔实际的URL和参数                               %3F
     
    # 表示书签                                         %23
     
    & URL中指定的参数间的分隔符                          %26
     
    = URL中指定的参数的值                               %3D
    
     NSString *urlString = @"http://sso.qq.com:8088/login?code=b29eb6164d62d522ff09d64429a8e6a1&appid=12345&env=dev";
     NSURLComponents *urlComponents = [[NSURLComponents alloc] initWithString:urlString];
        
        NSLog(@"scheme-> %@",urlComponents.scheme);
        NSLog(@"user-> %@",urlComponents.user);
        NSLog(@"password-> %@",urlComponents.password);
        NSLog(@"host-> %@",urlComponents.host);
        NSLog(@"port-> %@",urlComponents.port);
        NSLog(@"query-> %@",urlComponents.query);
         
        //包含query的各个参数
        NSLog(@"queryItems-> %@",urlComponents.queryItems);
    
    2021-04-20 11:51:35.299782+0800 test[2485:148086] scheme-> http
    2021-04-20 11:51:35.299876+0800 test[2485:148086] user-> (null)
    2021-04-20 11:51:35.299914+0800 test[2485:148086] password-> (null)
    2021-04-20 11:51:35.299954+0800 test[2485:148086] host-> sso.qq.com
    2021-04-20 11:51:35.300002+0800 test[2485:148086] port-> 8088
    2021-04-20 11:51:35.300032+0800 test[2485:148086] query-> code=b29eb6164d62d522ff09d64429a8e6a1&appid=12345&env=dev
    

    相关链接:
    https://blog.csdn.net/weixin_39765280/article/details/111338745

    相关文章

      网友评论

          本文标题:Url参数含义 &#%+=...

          本文链接:https://www.haomeiwen.com/subject/vftnlltx.html