第五章 WEB原理与应用开发

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

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

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

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

Web交互的基本模型:

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

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

Web应用开发基本原理

浏览器的作用

l 数据收集

l 传输协议

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

l 响应用户操作
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协议格式
l URL格式

😕/< virtual path>?,

主要由几部分构成:

  1. protocol

在这里的协议是HTTP

  1. domain

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

  1. virtual path

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

  1. queryString

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

l HTTP头

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

l Form提交格式

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

l 请求(Request)

HTTP/

<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部分就会有对应长度的(字节为单位)内容。

l 回应(Response)

HTTP/

<http头>

version:当前HTTP协议是1.1版本

statusCode:服务器传回的访问的整数状态码,一般成功的是200或者201,跳转是302,服务器内部错误是500,请求错误是400,没有页面是404

statusDescription:状态描述,针对状态码的描述信息

content:和请求是一样的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值