GET与POST区别
HTTP定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST.
HTTP-GET和HTTP-POST是使用HTTP的标准协议动词,用于编码和传送变量名/变量值对参数,并且使用相关的请求语义。每个HTTP-GET和HTTP-POST都由一系列HTTP请求头组成,这些请求头定义了客户端从服务器请求了什么,而响应则是由一系列HTTP应答头和应答数据组成,如果请求成功则返回应答。
HTTP-GET以使用MIME类型application/x-www-form-urlencoded的urlencoded文本的格式传递参数。Urlencoding是一种字符编码,保证被传送的参数由遵循规范的文本组成,例如一个空格的编码是"%20"。附加参数还能被认为是一个查询字符串。
与HTTP-GET类似,HTTP-POST参数也是被URL编码的。然而,变量名/变量值不作为URL的一部分被传送,而是放在实际的HTTP请求消息内部被传送。
GET和POST之间的主要区别如下:
(1)get是从服务器上获取数据,post是向服务器传送数据。
(2)在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。
(3)对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
(4) GET方式提交的数据最多只能有1024字节,而POST则没有此限制。
(5) 安全性问题。正如在(2)中提到,使用 Get 的时候,参数会显示在地址栏上,而 Post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post为好。
注:所谓安全的意味着该操作用于获取信息而非修改信息。幂等的意味着对同一 URL 的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。换句话说,GET 请求一般不应产生副作用。从根本上讲,其目标是当用户打开一个链接时,她可以确信从自身的角度来看没有改变资源。比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。反之亦然。POST 请求就不那么轻松了。POST 表示可能改变服务器上的资源的请求。仍然以新闻站点为例,读者对文章的注解应该通过 POST 请求实现,因为在注解提交之后站点已经不同了(比方说文章下面出现一条注解)。
一个简单的例子来说明它们的区别:
<!-分别通过get和post方式提交表单-->
<FORM ACTION="getpost.asp" METHOD="get">
<INPUT TYPE="text" NAME="Text" VALUE="http://wxf0701.cnblogs.com//>
<INPUT TYPE="submit" VALUE="Get方式"></INPUT>
</FORM>
<BR>
<FORM ACTION="getpost.asp" METHOD="post">
<INPUT TYPE="text" NAME="Text" VALUE="http://wxf0701.cnblogs.com/>
<INPUT TYPE="submit" VALUE="Post方式"></INPUT>
</FORM>
<BR>
<% If Request.QueryString("Text") <> "" Then %>
通过get方式传递的字符串是: "<B><%= Request.QueryString("Text") %></B>"<BR>
<% End If %>
<% If Request.Form("Text") <> "" Then %>
通过Post方式传递的字符串是: "<B><%= Request.Form("Text") %></B>"<BR>
<% End If %>
分享到:
相关推荐
"Ajax中Get和Post请求的区别" Ajax作为异步JavaScript和XML的简写,是一种创建交互式网页的技术。其中,Get和Post是两种常用的HTTP请求方法,尽管它们都是用于将数据从客户端发送到服务器端,但是它们之间存在着很...
"GET与POST的区别" GET和POST是HTTP协议中两种最常用的请求方法,它们都是用来从客户端向服务器端发送请求的,但它们之间有很多不同之处。 GET方法 GET方法是从服务器上获取数据的请求方法。它的主要特点是将参数...
浅析Get与Post的区别 Get和Post是两种常用的表单提交方式,在Web开发中经常被使用。但是,很多人并不了解这两种方式的区别,导致在实际开发中出现问题。本文将详细阐述Get和Post的区别,以便读者更好地理解和使用这...
在深入探讨HTTP协议中GET与POST请求方法的区别之前,我们首先需要理解HTTP(HyperText Transfer Protocol)的基础概念。HTTP是一种应用层协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。它允许数据在...
HTTP中的POST和GET方法是两种最常用于网页开发的数据传输方式,它们在原理和表现形式上存在本质区别。 首先,从原理上看,GET方法通常用于获取资源信息,它通过URL来传递参数,URL全称为资源描述符,表示网络上的一...
### AJAX POST 与 GET 提交的区别详解 #### 一、GET与POST基本概念及应用场景 在探讨AJAX中GET和POST的区别之前,我们先来了解一下这两种请求方式的基本概念。 **GET**请求通常用于获取资源信息,它将参数拼接到...
GET与POST方法是Web开发中最基础且重要的概念之一,它们都是HTTP请求的两种方式,用于客户端(如浏览器)向服务器发送请求。理解GET与POST的区别对于掌握Web开发至关重要。 ### GET与POST的基本区别 #### 1. 数据...
超文本传输协议(HTTP)的...两种 HTTP 请求方法:GET 和 POST 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。 GET - 从指定的资源请求数据。 POST - 向指定的资源提交要被处理的数据
深入理解GET与POST方法的差别:HTTP协议解析 在探讨GET与POST方法的差别之前,我们首先需要了解HTTP协议的基本概念。HTTP(HyperText Transfer Protocol)超文本传输协议,是互联网上应用最为广泛的一种网络协议,...
在Java编程中,HTTP POST和GET是两种基本的HTTP请求方法,用于客户端向服务器发送数据。为了在Java中实现这些功能,我们需要引入特定的库,这些库通常被打包成JAR(Java Archive)文件。本篇文章将详细讲解HTTP POST...
一、HTTP GET与POST的区别 1. GET:主要用来获取资源,它是幂等的,即多次执行同一个GET请求,结果是一样的。参数通过URL传递,显示在地址栏中,一般对数据量有限制,通常不超过2KB。 2. POST:常用于提交数据,可以...
#### GET与POST的区别 - **数据位置**:GET方法将参数附加在URL中,而POST方法将参数放在请求体中。 - **安全性**:由于GET方法将参数暴露在URL中,因此不适合传输敏感信息;POST方法相对更安全。 - **数据大小限制...
C#实现http协议GET、POST请求 C#实现http协议GET、POST请求 C#实现http协议GET、POST请求 C#实现http协议GET、POST请求 C#实现http协议GET、POST请求
本主题聚焦于如何在DelphiXE10.3环境中,将HTTP GET和POST请求封装到DLL,并在独立的EXE程序中调用这些功能。以下是对这个过程的详细解释: 首先,我们需要理解`HTTP GET`和`HTTP POST`。GET是HTTP协议中最基础的...
本文将深入探讨GET和POST的区别、应用场景以及VB(Visual Basic)中如何使用它们。 GET和POST是HTTP请求的核心方法,用于从服务器获取数据或向服务器发送数据。GET主要用于从服务器获取资源,它的参数通常显示在URL...
GET和POST是HTTP协议中最常见的两种请求方法,分别用于获取资源和提交数据。本文将详细讨论如何在C#中封装一个用于执行HTTP GET和POST请求的类,以及`HttpHelper.cs`文件中的关键实现。 首先,了解GET和POST的基本...
与GET类似,但需额外提供POST数据。以下是实现POST请求的步骤: 1. 创建`CHttpFile`对象时,除了URL,还需要提供POST数据的名称和值。 2. 在`SendRequest`之前,调用`AddRequestHeaders`添加Content-Type头,指示...
PHP 中的get与 post 方法的区别