1.HTTP请求格式:
<request line>
<headers>
<blank line>
[<request-body>]
在HTTP请求中,第一行必须是一个请求行(request line),用来说明请求类型、要访问的资源以及使用的HTTP版本。紧接着是一个首部(header)小节,用来说明服务器要使用的附加信息。在首部之后是一个空行,再此之后可以添加任意的其他数据[称之为主体(body)]。
2.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请求消息内部被传送。
(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为好。
注:所谓安全的意味着该操作用于获取信息而非修改信息。幂等的意味着对同一 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 %>
------------------------------------------------------------------------------------------------------------------------------------------
分享到:
相关推荐
用HTML页面模拟测试get/post请求,psot请求参数的格式为json串
C# http Get/POST请求封装类
GET 和 POST 是我们最常用的两种请求方式,今天讲一讲如何在 golang 服务中,正确接收这两种请求的参数信息。 处理GET请求 1.1 接收GET请求 //接收GET请求 func Get(writer http.ResponseWriter , request *...
HttpClient(用CloseableHttpClient发送get/post请求)
httpclient get/post请求工具类(map参数封装),方便调用
封装https/http的get/post使用函数DLL文件,方便使用者调用,有调用示例程序;另外还有两个ansi与Utf8的转换, 调用示例: PostHttpsContext("current.sinaapp.com","/post.php","name=rain&age=12"); 调用示例: ...
VC++演示GET/POST发送请求的HTTP客户端,为了演示HTTP的客户编写的,因此运行时必须在本机有开HTTP服务才行。程序会会自动发送用户选择的请求类型,并跟踪这个请求,并返回信息在主窗体上。
java发送http/https请求(get/post)代码,java 通过发送json,post请求,返回json数据的方法 java 通过发送json,post请求,返回json数据的方法
一个关于Android客户端请求服务器端代码,涉及到Get/Post请求和Android中android-async-http-master插件的使用。
用Python和TCP sockets手写了一个可以接收HEAD、GET和POST等request message的简单的 HTTP web服务器。
Delphi两种方法演示HTTP请求:GET/POST方法使用演示,程序将演示使用这两种方法建立会话、建立一个http请求句柄、发送一个指定请求到httpserver、接收header信息和一个http请求、指向一个接收请求信息的缓冲区的指针...
调用http请求的工具类
2.发送post请求,(get请求参数含义:请求的url地址;异步请求的handler) 3.封装请求参数 4.在成功请求里(status:响应状态码,headers:响应头信息,responseBody相应内容的字节码)设置控件内容
Rust使用 reqwest 发起 GET/POST 异步请求.pdf
http协议是互联网上应用最为广泛的一种网络协议,他在接口中扮演着重要的角色,Post/Get请求,想必大家都有所耳闻,我们一起利用Boost::Asio库来实现Post/Get请求的发送。 VS2013 文章地址:...
50行代码http发送Post/Get请求,直接在linux gcc编译即可使用,或在win下任意c/c++编译器都可
c# 运用get/post 和使用webservicec# 运用get/post 和使用webservicec# 运用get/post 和使用webservicec# 运用get/post 和使用webservice
本次请求类型基本都包含了,仅供参考研究。
主要介绍了Java发送http get/post请求调用接口/方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
自己项目里的,可用