Web应用开发基本原理.

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Web应用开发基本原理

Web应用原理

简介

Web应用是基于HTTP协议的,Web应用也被常常被称为B/S(Browser/Server,浏览器/服务器)应用,这是针对传统的C/S(Client/Server,客户端/服务器模式)模式而言的。但是Web 应用其实也是一种客户端/服务器的应用,只不过客户端使用的是统一协议的浏览器而已。

传统的C/S结构是两层结构,客户端直接和数据库连接,这种模式存在着非常大的安全隐患,目前已经逐步消亡了。但是作为3层结构(UI—BizServer—DB)的结构会长期和B/S

Web基本交互图

C/S模式的交互模型

●客户端将数据传输给服务器

●服务器将数据传递给客户端

Web交互的基本模型:

●浏览器将数据传输给服务器

●服务器将显示和操作代码传递给浏览器

浏览器的作用

●数据收集

●传输协议

●解释显示语言/解释脚本

●响应用户操作

Web传输协议网络堆栈

客户端服务器

对于Web开发主要是使用Web应用层和HTTP层的协议进行开发的,Web应用层具有多种协议:

HTML:显示语言,使用统一的Marker Language解释客户端显示组件以及其摆放规则。

DHTML:HTML的对象模型,主要和脚本引擎一起提供页面操作/动态页面显示等功能。

CSS:界面风格描述,主要用于描述组件的特性。

Javascript/VBScript:脚本引擎主要用于结合DHTML提供页面操作/动态页面显示等功能。

VML:图形化建模语言。

在除了物理层的以下各层,Web服务器一般都能为应用服务提供相应的接口:

输入:

链路层:MAC地址

IP层:IP地址

TCP层:TCP端口

HTTP层:HTTP Headers(QueryString/Cookie /Accept-Type/Content-Type等)

Web应用层:ViewState/ Form服务器端组件状态等

输出:

HTTP层:HTTP Headers(QueryString/Cookie/Accept-Type/Content-Type等)

Web应用层:HTML/Javascript/HTC/xml/pic等

HTTP协议

Http协议格式

●URL格式

://< virtual path>?

主要由几部分构成:

1.protocol

在这里的协议是HTTP

2.domain

一般的格式是<服务器>:<端口号>,如果没有端口号,HTTP缺省为80

3.virtual path

虚拟路径,第一个字符是”/”,代表相对于服务器Web应用根的路径。

4.queryString

参数值,以<名>:<值>模式的多个域的组合,域和域之间以”&”分割。注意:这里的每个域的名称在QueryString中可能不是唯一的。

●HTTP头

主要是指<名>:<值>模式的多个域的组合,域和域之间以回车(\r\n)分割,如果出现两个回车,就证明HTTP头已经结束。注意:HTTP域在HTTP头中不是唯一的。

●Form提交格式

以<名>:<值>模式的多个域的组合,域和域之间以”&”分割。注意:这里的每个域的名称在QueryString中可能不是唯一的。

●请求(Request)

HTTP/

method:主要有两种,一种是POST,一种是GET。通常POST会带Content-Length的HTTP 头,用来传输数据。

url:访问服务器的虚拟路径,比如我们在浏览器中输入”http://localhost/webapp/webapp1.aspx”,那么虚拟路径是指”/webapp/webapp1.aspx”。

version:当前HTTP协议是1.1版本

content:如果HTTP头中存在Content-Length,则在content部分就会有对应长度的(字节为单位)内容。

●回应(Response)

HTTP/

version:当前HTTP协议是1.1版本

statusCode:服务器传回的访问的整数状态码,一般成功的是200或者201,跳转是302,服

务器内部错误是500,请求错误是400,没有页面是404 statusDescription :状态描述,针对状态码的描述信息 content :和请求是一样的

特殊的HTTP 头

● Content-Length

放在HTTP 头后的内容长度 ● Content-Type

放在HTTP 头后的内容类型以及字符集编码,常见内容类型有 POST 的类型一般是"application/x-www-form-urlencoded" XML 类型的数据使用”text/xml ” HTML 类型的数据使用”text/html ”

javascript 类型的数据使用”text/javascript ”

● Content-Encoding

编码规则,用于表明 ● Set-Cookie

服务器传递的,专门用于设定浏览器cookie 的(可以设定Cookie 的名值对,有效路径,以及是否强制使用安全通道等) ● Cookie

浏览器传递的,将服务器设定的cookie 返回给服务器

例子

● 用户在浏览器输入URL ,访问该URL

● 用户在浏览器中输入内容,点击”提交”按钮,提交内容

传输报文

输入路径

相关文档
最新文档