• Web体系=资源+URI+表示


    概述

    Web有三个核心概念:资源(Resource)、URI(UniformResource Identifer,统一资源标识符)、表示(Representation).一个资源由一个URI进行标识。表示是从资源返回的数据,其格式被称为媒体类型。

    资源

    任何带有URI标识的东西都是资源。

    资源并不只限于文件,还包括服务,系统,流媒体等。

    URI

    每个资源都可以通过唯一的URI访问,可以把URI看作一个资源的主键。

    一个URI只能对应一个资源,但多个URI可以指向同一个资源。

    URI 的格式为:scheme:hierarchicalpart[?query][#fragment],其中scheme表示通信协 议,hierarchical part 表示通信地址、安全证书颁发机构(authority)和分层路径(hierarchical path)等,查询字符串query和fragment是可选的。

    URI分为两种类型:URL(UniversalResource Locator,统一资源定位符)和URN(Universal Resource Name,统一资源名)。URL既标识一个资源,又指定了访问该资源的方法。URN是一个资源的唯一标识符。在实际应用中,大多数URI都是URL,因此 URI和URL常常同义替换使用。

    表示

    表示是资源在某个时刻状态的快照。

    当HTTP客户端请求一个资源时,返回的是这个资源的表示,而不是资源本身。

    从一个请求到下一个请求发生时,资源的状态可能会发生很大的变化,因而返回的表示也会大不相同。

    一个资源可以有一个或多个表示。

    媒体类型

    每个表示都有特定的表示,即媒体类型。

    媒体类型是在Internet上客户端和服务器之间传递信息的格式。

    媒体类型由两部分标识组成。第一部分是顶级媒体类型,描述了通用的类型信息以及常用处理规则。常见的顶级类型有:application、image、text、video和multipart。第二部分是子类型,描述一个非常具体的数据格式,如json、html等。

    常用媒体类型列表

    媒体类型

    描述

    Text/html

    HTML文档

    Application/xhtml+xml

    使用格式良好的XML的HTML文档

    Application/xml

    XML文档和模式

    Application/json

    JSON文档

    Application/x-www-form-urlencoded

    表单键/值数据

    Multipart/mixed

    多个数据集合而成的单个正文

    Multipart/form-data

    文件

    Image/jpeg

    JPEG文档

    Image/gif

    GIF文档

    Image/png

    PNG文档

    Image/svg+xml

    SVG文档

    Application/atom+xml

    Atom源

    Application/vnd.hal+json

    包含相关资源链接的数据

    Application/vnd.collection+json

    数据集合

    更多

    各种媒体类型的特点:

    HTML 类型展示Web页面效果极佳,但不适合传输数据;JSON传输数据很好用,但在重现图像上效率却十分低下;PNG是极好的图像格式,但不适合存储可扩展的 矢量图形,对此SVG才是优选。ATOM,HAL和Collection+JSON能表达更为丰富的应用程序主义,不过受到的限制也较多。

  • 相关阅读:
    [LeetCode]Contains Duplicate
    C++基础之泛型算法
    KMP算法
    [LeetCode]Shortest Palindrome
    [LeetCode]House Robber
    Palindrome Linked List leetcode
    Rotate Array leetcode
    Rotate Image LeetCode
    Rotate List leetcode
    Reorder List leetcode
  • 原文地址:https://www.cnblogs.com/markhe/p/5588004.html
Copyright © 2020-2023  润新知