ASP.NET的运行机制

客户端运行一种特殊的软件,叫Web浏览器。它的工作方式是:当用户键入网址,它会发送一个请求给远程的服务器主机,比如我们访问 http://www.a.com/1.aspx 那么它会告诉服务器:
HTTP 1.0
GET 1.aspx
HOST www.a.com
服务器端有一个程序在监听来自客户的请求,这个程序叫 Web Server。典型的,IIS承担了这个工作。
于是服务器听到了客户机的请求,它知道客户机请求的是 1.aspx,而 aspx 是一个需要 ASP.NET 动态解析的脚本,于是它调用 ASP.NET 解析程序(ASP.NET 解析程序可以看作 IIS 的一个插件,在早期版本内,这个插件叫 ISAPI,现在实现的机制变的复杂)
ASP.NET 知道它请求的是 1.aspx,于是在磁盘上的某个相对路径上找到这个文件,执行。
最后会合成一个 HTML 代码。
比如说:
<html><body><form action=2.aspx><input id=textbox1 type=textbox /><submit value="ok"></form></body></html>
IIS 接收了 ASP.NET
,并且回答:
HTTP 1.0 200 OK
Date: Mon,1 Jan 2010 00:00:00 GMT
Content-Length: 500

<html><body><form action=2.aspx><input id=textbox1 type=textbox /><submit value="ok"></form></body></html>
客户端浏览器接收到数据,于是将 HTML 代码显示出来。比如看到 <input> 就会画一个文本框,看到 <table> 就画一个表格。

这时候用户输入一个文本,比如 hello world,并且单击 OK 按钮提交。

浏览器就会发送另一个请求:
HTTP 1.0
POST 2.aspx
HOST www.a.com

textbox1=hello%20&submit=ok
服务器端就知道了,于是再调用 ASP.NET
ASP.NET会自动执行2.aspx
并且产生 Forms 对象,并且将textbox1=hello%20&submit=ok填入:
Forms["textbox1"] = "hello world"
Forms["submit"] = "ok"

你的脚本就看到了这个值,并且做出处理,比如写入数据库。
然后再返回客户端。


客户端和服务器端就像我们MSN聊天那样一应一答。

至于“控件”、“事件”这些全部是 ASP.NET 变的魔术而已。

关于 HTTP 稍微详细地介绍,你可以先看下:http://baike.baidu.com/view/9472.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值