zoukankan      html  css  js  c++  java
  • HTTP权威指南笔记-2.URL与资源

    2.1 URI与URL、URN

    1. URL是浏览器寻找信息时所需的具体位置。URl是人们对HTTP和其他协议的常用访问点:浏览器指向一个URL,浏览器就会发送适当的协议报文向服务器获取内容。
    2. URI是一类更通用的资源标识符,URL是它的子集,URI的两个主要子集:URL、URN。
    3. URL是通过描述资源的位置来获取资源,而URN是通过资源的名字来获取资源(与所处位置无关)。
    4. URL由三部分组成:
      • 第一部分:协议类型、方案
      • 第二部分:服务器名称、位置
      • 第三部分:所需获取资源的具体路径

        例:http://www.yahoo.com/image/logo.gif

        上例中:第一部分:http://

            第二部分:www.yahoo.com

            第三部分:image/logo.gif

    2.2 URL的语法

           URL基本由九部分组成:方案、用户、密码、主机、端口、路径、参数、查询、片段

    • 方案

        方案实际上就是规定如何访问资源的主要标识符,负责告诉解析URL的应用程序使用的是什么协议。

        方案组件必须以字母符号开始,且在URL中由第一个:将其与主体部分分开。

    • 主机与端口

        在URL中主机可以是类似“www.baidu.com”这种服务器名称,也可以是“192.168.1.3”这种IP地址,主要标识的是URL访问的具体服务器

        端口组件标识了服务器正在监听的网络端口。

    • 用户名和密码

        很多服务器是需要用户名和密码才可以登录访问数据的,举例如下:

          ftp://ftp.prep.ai.edu/pub/gnu        

            该例没有用户名和密码部分,只是标准的方案、主机和路径,如果所访问的服务器需要用户名和密码而用户没有主动填写,它通常会自动添加默认用户名(anonymous)和密码(IE会设置为IEUser)。

          ftp://anonymous@ftp.prep.ai.edu/pub/gnu         

            该例是anonymous为用户名,用@将用户名和其他部分隔离开。

          ftp://anonymous:password@ftp.prep.ai.edu/pub/gnu

            该例和上例类似,只是增加了密码组件部分,用户名和密码之间用“:”隔开。

    • 路径

        路径是URL访问服务器资源时寻找资源的具体位置的路径,其标识用“/”将各路径段连接在一起,组成完整路径。

    • 参数

        对很多方案来说,只有简单的用户名、密码、路径等信息是不足够的,还需要某些参数,负责解析URL的应用程序可以根据这些参数来访问资源。

        比如FTP协议有两种传输模式,二进制和文本形式,在具体使用总,如何选择传输模式就是靠参数组件来设置了。

        其格式为:由“;”将其与其他部分分隔开,例:ftp://ftp.prep.ai.edu/pub/gnu;type=d

    • 查询字符串

        访问某些资源时可能其内容过于庞大,而访问所需资源是某些小部分内容,此时需要查询字符串。

        例:访问数据库。假如数据库内有物品清单,并可以对清单内物品进行查看是否有货,则可以用下列URL访问

          查看编号为12341的物品:http://www.sqlwp.com/store?item=12341

          其格式为:用符号“?”将其与其他组件部分隔开,如需多个参数则在参数与参数间用符号“&”隔开。

        例:http://www.sqlwp.com/store?item=12341&color=blue

    • 片段

        有些资源类型,比如HTML,除资源级可以划分外,还可以做进一步划分。

        比如访问资源是一个大型带有章节的文档,理想的情况时访问某个章节,此时需要使用片段组件。

        片段组件挂在URL的右手边,最前面加个符号#与其他部分分割。

        例:http://www.sqlwp.com/store#color=blue

    2.3 方案

    • http:超文本传输协议方案,除没有用户名和密码外,与通用URL格式相符,默认端口80.

        格式:http://host:port/path?query#frag

        示例:http://localhost.com:80/index.html

    • https:与http相似,唯一区别为添加了网景SSL,为http提供了加密机制,默认端口443.

        格式:https://host:port/path?query#frag

        示例:https://localhost.com:80/index.html

    • mailto:URL指向的是E-mail地址,

        格式:mailto:RCF-822-addr-spec

        示例:mailto:joe@joes-hard.com

    • ftp:文件传输协议,可用于上传及下载文件方面等用途。

        格式:ftp://user:password@host:port/path;param

        示例:ftp://anonymous:password@ftp.prep.ai.edu/pub/gnu

    • rtsp、rtspu:RTSP是可以通过实时流传输协议解析的音视频媒体资源的标识符。

        格式:rtsp://user:password@host:port/path

        示例:rtsp://www.joes-hard.com:554/video

    • file:访问服务器的文件资源,如省略主机名,则访问默认正在使用的本地主机。

        格式:file://host/path

        示例:file://localhost/words/111.doc

    • news:我也没懂,也没地用到
    • telnet:用于访问交互式业务,可通过telnet协议访问的交互式应用协议。

        格式:telnet://user:password@host:port/

        示例:telnet://www.joes-hard.com:554/

          

      

        

      

  • 相关阅读:
    内置对象
    Angular 动画
    Angular_上拉刷新
    angular Observable
    【Nginx】nginx为目录或网站加上密码认证
    MongoDB笔记
    websocket服务器+客户端
    cli 中php的配置和phpinfo不一样
    linux设置时区和自动同步时间
    crontab & php实现多进程思路
  • 原文地址:https://www.cnblogs.com/Khan-Sadas/p/6140926.html
Copyright © 2011-2022 走看看