zoukankan      html  css  js  c++  java
  • web应用程序和web服务

    我们在建立网站服务时,有两种不同的web开发模式:

    一、web应用程序(web application:web应用程序是透过http请求来存取web服务器的网页,或执行服务端网页技术的程序,例如:ASP,ASP.NET,JSP,PHP。

    二、web服务(web services:透过通讯协定SOAP或RESTful api提供资料交换和工作分享,这也是一种web应用程序,只不过是透过web服务来执行。

    web应用程序(web application

      web应用程序简单来说就是一组网页(包含html网页,图片和相关服务器网页技术文档)的集合,其主要功能是回应使用者的请求,并且与使用者进行互动。目前Internet拥有多种不同类型的web应用程序,如:网络银行,电子商务网站,搜索引擎,拍卖网站,论坛等。

      基本上,web应用程序就是一种web基础(web-based)的资讯处理系统,使用资讯处理模型建立的应用程序,分为资讯处理模型和资讯传递模型两种。

      资讯传递模型是传统web网站,所有资讯内容都是使用html语言撰写的静态html网页,我们可以直接使用网页编辑工具或html语言来建立网站内容,如图:

     

      使用者在浏览器的网址栏输入url网址后,透过http通讯协定取得web服务器的html网页。资讯传递模型的web服务器只是负责存储和传递html网页,并不进行额外处理,一般来说,使用者只能阅读网站提供的资料,并不能与网站进行互动。

      资讯处理模型主要目的是建立互动的web网站内容的web网站内容,web服务器的角色不单纯只是传递资料,而是一个完整资讯处理系统的执行平台,我们需要使用服务器端网页技术(程序是在web服务器执行的网页技术),例如:使用php技术建立的web应用程序,如下图所示:

      

      上述图例的输入部分,以php技术来说,就是html表单的栏位,例如:查询图书书号的栏位,在存储部分最常使用的是资料库,例如:网络商店的图书资料库。上图所示的是一般的处理过程,但因为现在的javascript和html5拥有存取本地资料库和档案的能力,现在的web应用程序并不一定需要有服务器,在浏览器也一样可以使用客户端网页技术来执行资讯处理模型的web应用程序,如使用Web SQL Database,Local Storage和Session Storage存储数据,用js计算处理数据等。

    web服务(web services

      web服务是一种企业级的应用程序,可以透过Internet建立自动机制提供资料交换和工作分享等资源共享能力。web服务是使用简单和公开标准的通讯协定,并且提供低成本软件整合和资料分享能力。

      web服务的基础

      web服务提供一组通用服务,能够提供大量客户端来同时使用,这是一组以xml标签作为传递讯息的函数呼叫。客户端通过http传送函数呼叫给服务器,服务器用http将结果传回客户端,可以提供客户端更多的弹性,因为只需要传递函数呼叫的讯息就可以取得所需要的资讯。

      简单来说,web服务提供一组通用的远端函数呼叫(RPC,Remote Procedure Calls),可以让客户端使用函数呼叫来执行所需的服务。

      web服务的应用程序架构

      WEB服务的客户端和服务器是使用SOAP(Simple Object Access Protocol)通讯协定来进行通讯,一种结合xml标签讯息的通讯协定。web服务的应用程序架构如图所示:

      RESTful API

      RESTful是一种源于www的web应用架构,常常被用来描述使用xml或json等简单界面的web服务,而不是使用SOAP的传统web服务,基本上符合REST原则的系统就称为RESTful。RESTful API对比传统的web服务来说是属于一种轻量级的web服务,因为设计简单,而且提供弹性的回应形态,例如:xml或json。

     注:这是一本名为《跨平台Android iPhone程式开发 visual studio community cordova/phonegap jQuery Mobile》陈会安著书中的部分内容,经本人理解然后改掉了点内容,想要了解更多和了解原意请看书。

  • 相关阅读:
    <HTTP>ASI实现的注册方法:利用http的get和post两种方式
    <Ruby>社区服务端启动流程
    <iOS>ASIHTTPRequest和ASIDownloadCache实现本地缓存
    <iOS>关于Xcode上的Other linker flags
    <HTTP>ASI实现的登陆方法
    【pool drain】和【pool release】区别
    <UI>TableViewCELL长按事件
    <UI>UIView的autoresizingMask属性
    <UI>自定义UITableView的右侧索引
    <cocos2D>ccLabel相关
  • 原文地址:https://www.cnblogs.com/yzw-carrie/p/5616615.html
Copyright © 2011-2022 走看看