客户端运行一种特殊的软件,叫Web浏览器。它的工作方式是:当用户键入网址,它会发送一个请求给远程的服务器主机,比如我们访问 http://www.a.com/1.aspx 那么它会告诉服务器:HTTP 1.0GET 1.aspxHOST 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 OKDate: Mon,1 Jan 2010 00:00:00 GMTContent-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.0POST 2.aspxHOST www.a.comtextbox1=hello%20&submit=ok服务器端就知道了,于是再调用 ASP.NETASP.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