本文内容
本文旨在说明客户端向服务器如何发送数据,以及服务器如何接收。虽然这种实现方式现在已经看不到了,但是这种机制是不变的,已经变成了一种底层实现,所以还是有必要了解的。
- ASP.NET Get 与 Post 方式
- ASP.NET Request.querystring、Request.Form 和 Request.Params 比较
- 示例
ASP.NET 原始请求(HTTP Get) 与回发(HTTP Post) 方式
- 原始请求(HTTP Get)方式是从服务器上获取数据,主要用于查询;回发(HTTP Post)方式是向服务器传送数据,主要用于增删改。
- 原始请求(HTTP Get)方式,以键值形式,把向服务器发送的数据添加到表单 form 的 action 属性的 URL 中。回发(HTTP Post)将表单内各个键和其值放到 HTML header 中,发送到 form 的 action 属性所指的URL,对用户隐藏。
- 原始请求(HTTP Get)方式,服务器端通过 Request.QueryString 获取数据。而回发(HTTP Post)方式,服务器端通过 Request.Form 来获取。
- 原始请求(HTTP Get)方式传送的数据量较小,不能大于 2KB。回发(HTTP Post)方式传送的数据量较大,默不受限制。
- 原始请求(HTTP Get)方式安全性很低。回发(HTTP Post)方式较高。原始请求(HTTP Get)方式的安全性较回发(HTTP Post)方式要差些,包含机密信息的话,建议用回发(HTTP Post)数据提交方式。
- 原始请求(HTTP Get)方式执行效率比回发(HTTP Post)方式好。
- 若不指定的 form 的 method 和 action 属性,则 ASP.NET 默认为 Post 方式,则数据回发给自己。
示例:
<!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></title>
<script runat="server">></head><body><form id="form1" runat="server"><div><p>默认原始请求(HTTP GET)方式发送数据:<br /></p><p>你的公司<asp:TextBox ID="name" runat="server" Text="Google"></asp:TextBox><br />你的网站<asp:TextBox ID="website" runat="server" Text="www.google.com.hk"></asp:TextBox><br /></p><input type="submit" value="POST 方式发送" /><br /></div></form></body></html>