zoukankan      html  css  js  c++  java
  • RESTful规范

    推荐博客:https://www.cnblogs.com/GGGG-XXXX/p/9564651.html
    RESTful规范
    我们在浏览器中能看到的每个网站,都是一个web服务。那么我们在提供每个web服务的时候,都需要前后端交互,前后端交互就一定有一些实现方案,我们通常叫web服务交互方案
    目前主流的三种web服务交互方案:
        -- REST ( Representational State Transfer)表述性状态转移
        -- SOAP (Simple Object Access Protocol)  简单的对象访问协议
        -- XML-RPC (XML Remote Procedure Call)基于XML的远程过程调用
    RESTful
    	表征性状态转移。这里所说的表征性,其实指的就是资源。通常我们称为资源状态转移
    	资源:任何事物,只要有被引用到的必要,它就是一个资源,不仅包括文本图片视频也包括抽象的概念,比如两个人的关系.资源在web中的唯一标识URI
    	URI 统一资源标志符。
      	URL 统一资源定位符。(URL可以说是URI的子集,通过定位的方式实现的URI。)
      	URI是给我们的资源进行标识的,URL是描述我们资源地址的。
    	统一资源接口:只使用一个URL,然后根据HTTP请求方式的不同,对资源进行不同的操作,这个就是是统一资源接口
    	资源的表述:资源的表述其实就是资源的展现形式,我们客户端和服务端传输的都是资源的表述,而不是资源本身。
    	状态转移:从当前资源的表述(也可以说状态或者表现层)会跳转到其他的资源状态,通过超链接的指引,实现"表现层状态转移"
    	总结:
    		(1)在web中,只要有被引用的必要都叫资源。
      		(2)每个URI代表一个资源,独一无二的。
      		(3)客户端通过HTTP的方法,对服务器端资源进行操作;
      		(4)客户端和服务器之间,传递这种资源的某种表现层;
      		(5)通过超链接的指引,实现"表现层状态转移"。
    	10条规范:
    		1. 面向资源编程
    			每个URL代表一种资源,URL中尽量不要用动词,要用名词。
    		2. 根据method不同,进行不同的操作
    			GET/POST/PUT/DELETE/PATCH
    		3. 在URL中体现版本
    			https://www.bootcss.com/v1/mycss
      			https://v1.bootcss.com/mycss
    		4. 在URL中体现是否是API
    			https://www.bootcss.com/api/mycss
      			https://api.bootcss.com/mycss
    		5. 在URL中的过滤条件
    			https://www.bootcss.com/v1/mycss?page=3
    		6. 尽量使用HTTPS
    			https://www.bootcss.com/v1/mycss
    		7. 响应时设置状态码
    			1**   信息,服务器收到请求,需要请求者继续执行操作
      		        2**  成功,操作被成功接收并处理
      		        3**  重定向,需要进一步的操作以完成请求
      		        4**  客户端错误,请求包含语法错误或无法完成请求
      		        5**  服务器错误,服务器在处理请求的过程中发生了错误
    
    			2xx:成功
    			200:OK,请求成功
    			201:OK,新的资源建立(post命令)
    			202:请求被接受,但处理未完成
    			204:OK,但没有内容返回
    			------------------------------------------------------------------------
    			3xx:重定向:需要用户代理执行更多的动作
    			301:Moved Permanently永久转移(所请求的资源已被指派为新的固定URL)
    			302:Found 暂时转移(所请求的资源临时位于另外的URL)
    			304:文档没有修改(条件GET)
    			307:Temporary Redirect(临时重定向)
    			------------------------------------------------------------------------
    			4xx:客户差错
    			400:Bad Request 请求错误
    			401:Unauthorized 未认证(该请求要求用户认证)
    			403:Forbidden 	不明原因的禁止
    			404:Not Found 	未找到
    			------------------------------------------------------------------------
    			5xx:服务器差错
    			500:Internal Server Error(服务器错误)
    			501:没有实现
    			502:错误的网关(网关或上游服务器来的无效响应)
    			503:Service Unavailable(一般是访问人数过多)
    		8. 返回值
    			GET请求 返回查到所有或单条数据
      			POST请求  返回新增的数据
      			PUT请求  返回更新数据
      			PATCH请求  局部更新  返回更新整条数据
      			DELETE请求  返回值为空
    		9. 返回错误信息
    			返回值携带错误信息
    		10. Hypermedia API
    			如果遇到需要跳转的情况 携带调转接口的URL
    			ret = {
    			code: 1000,
    			data:{
    				id:1,
    				name:'小强',
    				depart_id:http://www.luffycity.com/api/v1/depart/8/
    			}
    		}
    

      

  • 相关阅读:
    gridview 数据绑定函数
    GridView详述
    gridview 数据绑定函数
    GridView详述
    c# windows服务
    "System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。
    启动网站时,IIS发生意外错误0x8ffe2740
    访问 IIS 元数据库失败
    vs2010运行时提示:无法启动程序:http://......
    realplayer、wmp 网页内嵌代码
  • 原文地址:https://www.cnblogs.com/perfey/p/9948534.html
Copyright © 2011-2022 走看看