What is REST?
Representational State Transfer (REST) is a style of software architecture for distributed systems.使用 REST 為設計架構的系統我們就稱為 RESTful系統
RESTful Web Services(或稱RESTful Web API)是以HTTP為基礎,必且有以下三個特色
- 所有的API或是以Resource的形式存在,例如 htttp://www.test.com/examples/12345
- 這個服務可以接受與返回某個MIME-TYPE,最常見的是JSON格式,也可以回傳PNG/JPG/TXT等格式。
- 對資源的操作會支援各種請求方法 (例如GET, POST, PUT, DELETE)
What is JSON?
JavaScript Object Notation (JSON) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate” – JSON.org
JSON
|
XML
|
Data Structure
|
Data Structure
|
No validation system
|
XSD
|
No namespaces
|
Has namespaces (can use multiples)
|
Parsing is just an eval
•Fast
•Security issues
|
Parsing requires XML document parsing
using things like XPath
|
In JavaScript you can work
with objects – runtime evaluation of types
|
In JavaScript you can work with strings
– may require additional parsing
|
Security:
Eval()
means that if the source is not trusted anything could be put into it.
Libraries
exist to make parsing safe(r)
|
Security: XML is text/parsing – not
code execution.
|