zoukankan      html  css  js  c++  java
  • Rest之路

    资源

    在Rest的架构之内,讲一切内容都是为资源。每一个资源都被定义为一个URI。

    格式: <protocol>://<service-name>/<ResourceType>/<ResourceID>

    除此之外,URI的另一个关键部分为“VERB“, 相应的我们也称他们为“方法”。他们通常有四种形式 -- GET/POST/PUT/UPDATE

    关于资源的表述,Rest有多种形式的表述方式,其中以XML和JSON最为常用。

    消息

    Rest 采用HTTP协议作为client和server之间的传输媒介。 client 通过发送 HTTP Request 到 Server;Server 发送 HTTP Response 到 client。

    为了方便理解,通过图文并茂的方式来解释一下 HTTP Request/Response.

    以下部分摘自: https://www.tutorialspoint.com/restful/restful_messages.htm

    HTTP Request

    HTTP Request

    A HTTP Request has five major parts:

    • Verb- Indicate HTTP methods such as GET, POST, DELETE, PUT etc.

    • URI- Uniform Resource Identifier (URI) to identify the resource on server

    • HTTP Version- Indicate HTTP version, for example HTTP v1.1 .

    • Request Header- Contains metadata for the HTTP Request message as key-value pairs. For example, client ( or browser) type, format supported by client, format of message body, cache settings etc.

    • Request Body- Message content or Resource representation.

    HTTP Response

    HTTP Response

    A HTTP Response has four major parts:

    • Status/Response Code- Indicate Server status for the requested resource. For example 404 means resource not found and 200 means response is ok.

    • HTTP Version- Indicate HTTP version, for example HTTP v1.1 .

    • Response Header- Contains metadata for the HTTP Response message as key-value pairs. For example, content length, content type, response date, server type etc.

    • Response Body- Response message content or Resource representation.

    Example

    As we have explained in RESTful Web Services - First Application tutorial, Let's put http://localhost:8080/UserManagement/rest/UserService/users in POSTMAN with GET request. If you click on Preview button residing near send button of Postman and then click on Send button, you may see the following output.

    HTTP Request/Response

    Here you can see, the browser sent a GET request and received a response body as XML.

  • 相关阅读:
    简单工厂和抽象工厂有什么区别?
    常用的设计模式有哪些?
    常见的HTTP协议状态码?
    数据库分库分表(sharding)系列(二) 全局主键生成策略
    关于垂直切分Vertical Sharding的粒度
    数据库分库分表(sharding)系列(四) 多数据源的事务处理
    分库分表带来的完整性和一致性问题
    [置顶] 深入探析Java线程锁机制
    为啥RESTFULL如此重要?
    hadoop核心逻辑shuffle代码分析-map端
  • 原文地址:https://www.cnblogs.com/atuotuo/p/6286267.html
Copyright © 2011-2022 走看看