web技术简介
1 JAVASCRIPT
是一种网页编程语言,程序文件为文本文件,扩展名为.JS,嵌入在PC浏览器的网页中运行。可使用记事本、写字板等文本编辑器软件作为开发工具。
所有PC浏览器都支持JAVASCRIPT。
2 Flash
是一种网页矢量动画编程技术,程序文件为编译后的二进制文件,扩展名为SWF,运行在客户端安装有Flash播放器(控件)的浏览器中。有专门的开发工具(Adobe Flash Professional、Flash Builder、Flex builder软件),编程语言为ActionScript。
Flash技术已相当普及,支持Flash的浏览器全世界预计达到97%。
3 REST
REST (Representational State Transfer表述性状态转移),是一种Web服务的设计和开发方式(方法),降低开发的复杂性,提高系统的可伸缩性。支持HTTP GET方式调用,请求形式为URL字符串,参数用“&”符号连接,应答结果格式多为JSON或XML字符串,样例见下表。
使用REST方法开发的WEB服务可称为WEB服务(Web Service),但为了与SOAP协议定义的WEB服务区分开,常把此类WEB服务称为REST服务或REST API。
开发语言可以是C#、Java、C++等,开发环境软件有Eclipse、Visual Studio等,REST服务运行在服务器侧。
该服务调用简单、易于使用,可供客户端或服务端直接调用。
样例:
请求: |
应答(JSON格式): |
{ "results":[ ], "status":"INVALID_KEY" } |
请求: |
应答(XML格式) |
<PlaceSearchResponse> <results/> <status>INVALID_KEY</status> </PlaceSearchResponse> |
注:JSON是一种轻量级的数据交换格式,广义上也可称为一种协议。
4 SOAP
SOAP:简单对象访问协议,是一种基于 XML的协议,用来在WEB服务上传输结构化的信息。使用SOAP协议定义的WEB服务通过HTTP POST方式调用,请求格式为XML结构化字符串,应答结果格式为XML结构化的字符串。
使用SOAP协议定义的WEB服务可称为WEB服务,但为了与REST方法开发的WEB服务区分开,常把此类服务称为SOAP服务。
开发语言可以是C#、Java、C++等,开发环境软件有Eclipse、Visual Studio等,开发的程序运行在服务器侧。
该服务协议较REST服务复杂,请求和解析报文的成本高,通常由服务端调用。
样例:
请求: |
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <p:getUserByName xmlns:p="http://www.exmaple.com"> <username>tester</username> </p:getUserByName > </soap:Body> </soap:Envelope> |
应答: |
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <p:getUserByNameResponse xmlns:p="http://www.exmaple.com"> <name>tester</name> <title>software engineer</title> <company>IBM</company> <email>tester@cn.ibm.com</email> <description>testing!</description> </p:getUserByNameResponse> </soap:Body> </soap:Envelope> |
5 REST 与 SOAP关系图
Web Service的类型 | REST | SOAP |
请求方法 | HTTP GET | HTTP POST |
请求格式 | URL字符串 (简单) | SOAP XML (复杂) |
应答格式 | JSON或XML (简单) | SOAP XML (复杂) |
调用者 | 客户端、服务端 | 服务端 |