- 第一篇讲了 Web Forms 编程和 HTTP 协议。目的是希望你能理解:Web 的确需要 HTTP 协议,尽管 HTTP 的某些特性会阻碍 Web 的发展。
- 第二篇贴了一些 ASP.NET 页面和它们在浏览器中的源代码,以及 ASP.NET 程序运行后,Response 和 Request 对象的一些内容。目的是作为理解后面内容的一个准备。
- 第三篇讲解 HTTP 协议一些重要的特点,尤其是它的无状态性。这点对于 Web 应用程序很重要。
- 第四篇介绍 HTTP 协议本身,包括客户端请求,服务器响应,以及在服务器端需要有一个抽象模型来处理 ASP.NET 文件,来帮助这个请求和响应的过程。
本篇通过工具进一步看看 HTTP 协议如何工作。可以利用 MS telnet 工具,通过手动输入 http 请求信息的方式,向服务器发出请求,服务器接收、解释和接受请求后,会返回一个响应,该响应会在 telnet 窗体上显示出来;或是使用 SecureCRT Telnet 工具,如图 1 所示;或是利用网络协议分析工具,如 Ethereal,如图 2 所示。
图 1 SecureCRT 工具
图 2 Ethereal 工具
下面以 Ethereal 为例,这个工具提供的信息满全面的,除了分析 HTTP 协议,你也可以试试其他协议。
1, 建立环境。一台服务器,IP 地址为 18.1.1.120,两台客户端(A 和 B),IP地址分别为 18.1.1.90 和 18.1.1.119。什么机器都可以,我在把我自己的机器当作服务器,两台客户端用同事的机器;Ethereal 安装在服务器上。
2, 建立网站。用 .NET 新建一个项目,添加两个页面,一个是 .htm 文件,一个是 .aspx 文件。.aspx 文件内容如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Analyze HTTP protocol</title>
<script runat="server">></head><body><form id="form1" runat="server"><div><table><tr><td><asp:TextBox ID="TextBox1" runat="server" Text="Analyze HTTP protocol"></asp:TextBox><asp:Button ID="Button1" runat="server" Text="Analyze HTTP protocol" OnClick="Button1_Click" /></td></tr><tr><td><asp:TextBox ID="TextBox2" runat="server" Width="352px"></asp:TextBox></td></tr></table></div></form></body></html>