asp get与post获取的区别
1.HTTP请求格式:
<request line>
<headers>
<blank line>
[<request-body>]
在HTTP请求中,第一行必须是一个请求行(request line),用来说明请求类型、要访问的资源以及使用的HTTP版本。紧接着是一个首部(header)小节,用来说明服务器要使用的附加信息。在首部之后是一个空行,再此之后可以添加任意的其他数据[称之为主体(body)]。
(1)get是从服务器上获取数据,post是向服务器传送数据。
(1) 在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。
(2) 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
(2) GET方式提交的数据最多只能有1024字节,而POST则没有此限制。
(3) 安全性问题。正如在(1)中提到,使用Get的时候,参数会显示在地址栏上,而Post不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用post为好。
2.HTTPS请求
public string DealGet(string url)
{
//设置安全的类型
ServicePointManager.ServerCertificateValidationCallback
+= RemoteCertificateValidate;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls; //该属性仅为使用安全超文本传输协议 (HTTPS) 方案的新连接选择安全套接字层 (SSL) 协议
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
myRequest.Method = "GET";
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
string content = reader.ReadToEnd();
reader.Close();
return content;
}
//信任https请求证书
private static bool RemoteCertificateValidate(
object sender, X509Certificate cert,
X509Chain chain, SslPolicyErrors error)
{
System.Console.WriteLine("Warning, trust any certificate");
return true;
}
Get的方式
1.asp
*********************************
<FORM ACTION="2.asp" METHOD="get">
<INPUT TYPE="text" NAME="Text" >
<INPUT TYPE="submit" VALUE="get方式"></INPUT>
</FORM>
***************************************************
2.asp
************************************
<%
Dim i
i= Request.QueryString("Text")
Response.write i
%>
************************************
相当于点击form内包的submit按钮,浏览器就转到2.asp,本来应该是http://localhost/2.asp,但是为了传递参数,客户的浏览器端的ie栏就变成http://localhost/2.asp?Text=sd,后面加了问号还有参数Text的值sd,意思是要访问服务器的2.asp,而且要传递Text的值给服务器。而服务器用Request.QueryString("Text") 获得了浏览器ie地址栏传递过来的Text的值。
Post的方法
1.asp
*******************************************
<FORM ACTION="2.asp" METHOD="post">
<INPUT TYPE="text" NAME="Text" >
<INPUT TYPE="submit" VALUE="post方式"></INPUT>
</FORM>
********************************************
2.asp
*************************************************
<%Dim i
i= Request.form("Text")
Response.write i
%>
*************************************************
假设有个页面 test.asp?id=111
这里我们的页面是用GET的方法.这时用request.querystring("id")与request("id")是一样得,应该如果不指定REQUEST得集合,首先就会从Querystring搜索.
而如果我们的页面是用的是POST的方法发送数据给test.asp,那么用request.querystring("id")是不行的了(他只能取GET),而要用request.from("id"),而如果还用request("id")他也能取到数据,但先检测QUERYSTRING的值,显然速度就慢了.
转载自:http://blog.sina.com.cn/s/blog_5e4ec4e101017dgl.html
最新文章
- 通知中心 NSNotificationCenter 的简单使用方法
- git 本地分支与远程分支关联的一种方法
- c#省市联动
- poj 2187 Beauty Contest
- 《转》手把手教你使用Git
- php安装扩展模块(curl模块)
- android编程——百度地图初探
- Javascript学习7 - 脚本化浏览器窗口
- 教学小例子:简易的webSevrer
- 互联网最新kafka技术面试题含答案
- Stanford Local 2016 E ";Election of Evil";(搜索(正解)或并查集(划掉))
- 小甲鱼Python第十七讲课后习题
- linux下磁盘管理(du、df)命令使用
- SpringMVC中的一些注解
- 实验楼 MySQL 基础课程 挑战:搭建一个简易的成绩管理系统的数据库
- django创建上下文
- eval() 和 with()
- 调用write()写
- 将Web项目War包部署到Tomcat服务器基本步骤
- js(jQuery)tips