什么接口幂等性幂等性原本是数学中的含义,表达式的是N次变换与1次变换的结果相同。RESTFul API 中的幂等性是指调用某个方法1次或N次对资源产生的影响结果都是相同的。比如,RESTFul API 中的 GET 方法是查询资源,不会对资源产生影响,所以它是符合幂等性的;再比如,RESTful API 中的 DELETE 方法是查询数据,每次都应该返回 status=204。接口符合幂等性有什么用处接口的幂等性确保了无论调用1次还是N次对资源的影响都是相同的,这在某些场合下是非常有用的。举例:一个订单,多次执行支付接口,只应该付一次钱。HTTP方法的幂等性与安全性RESTful 设计本质上使
admin 2022-10-09 RESTful API 745
PHP
WordPress 自带的 RESTful API 内置的身份验证方法是 Cookie Authentication ,登录仪表板时,会生成cookie。为了防止CSRF,需要在请求的地址后面,加上一个 nonce 参数“_wpnonce”。CSRF请参考:https://javascript.net.cn/article?id=683nonce生成,参考:https://verytheme.com/archives/136如果想使用JWT(JSON Web Token),官方建议使用插件 https://wordpress.org/plugins/jwt-authentication-for
admin 2021-07-15 RESTful API 871
PHP
简介Wordpress v4.4以后,已经内置了WP REST API。接口文档:https://developer.wordpress.org/rest-api/The WordPress REST API provides an interface for applications to interact with your WordPress site by sending and receiving data as JSON (JavaScript Object Notation) objects. It is the foundation of the WordPress Block
admin 2020-09-08 RESTful API 807
今天,写篇文章介绍一下 RESTful API 中的动词覆盖吧。在开发各种小程序的时候,总是会遇到不能正常支持 HTTP 请求的平台,比如支付宝小程序只支持 GET 和 POST 请求,这时候充分利用 HTTP 请求方法的 RESTful API 就会遇到问题,不支持 PUT, PATCH, DELETE 请求,该怎么办呢?嗯,使用动词覆盖。什么是动词覆盖我最初遇到不支持全部 HTTP 请求的时候,解决方案是修改 API 路径,比如 DELETE /user/:id 时,我的方案是 POST /user/:id/delete。后来看了阮一峰的《RESTful API 最佳实践实践 》,才明白有
admin 2020-04-09 RESTful API 1043
1,令牌桶算法(Token Bucket)令牌桶算法(Token Bucket) 随着时间流逝,系统会按恒定1/QPS时间间隔(如果QPS=100,则间隔是10ms)往桶里加入Token,如果桶已经满了就不再加了。新请求来临时,会各自拿走一个Token,如果没有Token可拿了就阻塞或者拒绝服务。令牌桶的另外一个好处是可以方便的改变速度。 一旦需要提高速率,则按需提高放入桶中的令牌的速率。 一般会定时(比如100毫秒)往桶中增加一定数量的令牌, 有些变种算法则实时的计算应该增加的令牌的数量。2,算法实现对于每个 Bucket 设置一个定时器,而一个定时器就是一条线程。那么在你的服务器上,光是分
admin 2019-08-06 RESTful API 1100
一、URL 设计1.1 动词 + 宾语RESTful 的核心思想就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。比如,GET /articles这个命令,GET是动词,/articles是宾语。动词通常就是五种 HTTP 方法,对应 CRUD 操作。GET:读取(Read) POST:新建(Create) PUT:更新(Update) PATCH:更新(Update),通常是部分更新 DELETE:删除(Delete) 根据 HTTP 规范,动词一律大写。1.2 动词的覆盖有些客户端只能使用GET和POST这两种方法。服务器必须接受POST模拟其他三个方法(PUT、PAT
admin 2019-04-24 RESTful API 931
JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,本文介绍它的原理和用法。一、跨域认证的问题互联网服务离不开用户认证。一般流程是下面这样。1、用户向服务器发送用户名和密码。2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。3、服务器向用户返回一个 session_id,写入用户的 Cookie。4、用户随后的每一次请求,都会通过 Cookie,将 session_id 传回服务器。5、服务器收到 session_id,找到前期保存的数据,由此得知用户的身份。这种模式的问题在于,扩展性(scaling)不好。单机当然没有问题
admin 2019-04-24 RESTful API 881
在实际资源操作中,总会有一些不符合 CRUD(Create-Read-Update-Delete) 的情况,一般有几种处理方法。1. 使用 POST 为需要的动作增加一个 endpoint,使用 POST 来执行动作,比如: POST /resend 重新发送邮件。2. 增加控制参数 添加动作相关的参数,通过修改参数来控制动作。比如一个博客网站,会有把写好的文章“发布”的功能,可以用上面的 POST /articles/{:id}/publish 方法,也可以在文章中增加 published:boolean 字段,发布的时候就是更新该字段 PUT /articles/{:id}?publish
admin 2018-09-16 RESTful API 923
当一个api是GET请求, 地址是http://javascript.net.cn/user/comments 正常的GET请求是没有问题的,但是有时候该GET请求会变成非简单请求。比如: this.$http({     method: 'GET',     url: '/user/comments',     params: {page:1, object_id:that.article.id, table_name:"portal_post"},     headers: {     'XX-Token':  tools.getCookie('token'),    
admin 2018-05-16 RESTful API 1129
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。 它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。 本文详细介绍CORS的内部机制。 一、简介 CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。 整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出
admin 2018-05-16 RESTful API 655
Jone
在什么样的花园里面,挖呀挖呀挖
种什么样的种子,开什么样的花
随机推荐
WordPress 自定义 JWT 授权和验证
MySQL 表名预处理
WordPress 获取当前主题文件夹的路径
WordPress 文章置顶循环
CRSF 跨站脚本攻击已死,使用 Same-Site Cookies 来防范 CSRF
阿里云内容安全 API 签名机制
WordPress 添加文章自定义字段 meta
用 JavaScript 实现数字增加滚动动画
WordPress 常用函数 / sanitize_user
WordPress RESTful API 的授权方式

微信联系我

夜间模式切换
回到顶部