WebAPI基本
什么是webapi系统
webapi就是一个web系统,通过访问url可以与服务器完成信息交互,或者获得存放在服务器的数据信息等,调用者通过程序进行访问后既可以机械的使用这些数据
uri和url
1.uri:统一资源标志符,表示web上每一种可用的资源
uri组成:资源的命名机制+存放资源的主机名+资源自身的名称
例子:https://blog.csdn.net/baidudu
2.url:url是uri的一个子集,统一资源定位符
3区别:uri和url都定义了资源是什么,但url还定义了该如何访问资源。url是一种具体的url,它是uri的一个子集,它不仅唯一标识资源,而且还提供了定位该资源的信息。uri是一种语义上的抽象概念,可以是绝对的也可以是相对的,而url则必须提供足够的信息来定位,是绝对的
常见的webapi模式有哪些?
1.将已发布的web在线服务的数据或功能通过api公开
2.将附加在其他网页上得到微件公开
3.构建现代web应用
4.开发智能手机应用
5.开发社交游戏
6.公司内部多个系统的集成
webapi的重要性
利于公司业务的拓展,获取更多数据资源,获取更多应用,money
优美的webapi的重要性
易于使用,便于更改,健壮性好(健壮性是指程序在运行过程中出现一般性的错误,程序会自动进行错误处理函数),有影响力
端点设计的基本思想
易记,易懂,无大小写混用,方便修改,不会暴露服务器端架构的url,规则统一的url
SNS在线服务
social-net-server
get用法
:用于获取信息,获取url指定的资源
post用法
:用于更新信息,注册新建的资源
patch用法
:特殊的更新,只更新资源的一部分信息
为什么JSON比XML应用的更加广泛
:虽然XML有明确的命名空间和schema定义规范,还能对元素添加属性等。
但JSON相比表现力更加丰富,目前通过webapi进行交互的数据大多可以用JSON的简单键值以及序列来描述,不用XML那么复杂的规范
所有的webapi都要支持jsonp吗?
:不是如此,如果没有必要支持jsonp,就尽量不要去支持他,因为jsonp是一种出于安全而在浏览器里回避同源策略的手段,所以jsonp可能会成为那些被同源策略所防范的攻击手段的攻击目标。不要盲目支持jsonp,只在必要时使用,并且做好安全方面的工作,不要泄露公开的信息
常见的http状态码
300:存在多个资源 301:资源被永久转移
302:请求的资源被暂时转移 303:应用他处
304:从上一次访问后没有发生更新 307:请求的资源被暂时转移
400:请求不正确 401:需要认证
403:禁止访问 404:未找到资源
405:无法使用指定的方法 406:accept相关联的首部里含有无法处理的内容
408:请求在规定的时间内没有处理结果 409:资源存在冲突
410:资源已不存在 413:请求消息过大
414:请求的url太长 415:不支持所指定的媒体类型
429:请求次数过多
http协议的缓存机制有什么优点
1.减少了服务器端的通信数量,可以提升用户的访问速度
2.在网络断开时也可以继续向用户提供一定服务
3.减少了服务器端的通信次数和传输的数据量,可以降低用户的通信成本
4.减少了服务器端的访问次数,可以控制服务器端的维护费用