博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Http Get/Post请求的区别
阅读量:4656 次
发布时间:2019-06-09

本文共 2034 字,大约阅读时间需要 6 分钟。

1. HTTP请求格式:

   <request line>
   <headers>
   <blank line>
   [<request body>]
   在HTTP请求中,第一行是一个请求行,用来说请求的方式,要访问的资源,HTTP版本。然后是首部小节header,用来说明服务器要使用的附加信息。首部之后是一个空行,然后是请求主体。
2. GET和POST
   HTTP定义了与服务器交互的不同方法,最基本的方法是POST和GET。HTTP-GET和HTTP-POST是使用HTTP的标准协议动词,用于编码和传送变量名/变量值对参数,如果请求成功则返回应答。URL字符串中如果含有中文字符则用base64加密。

   POST方式,变量名/变量值不作为URL的一部分传送,而是放在实际的HTTP请求消息内部被传送

   浏览器请求时,默认是GET方式

   GET一般用于获取/查询 资源信息,而POST一般用于更新 资源信息
   #根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。
   1.所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。

 * 注意:这里安全的含义仅仅是指是非修改信息。

   2.幂等的意味着对同一URL的多个请求应该返回同样的结果。

 

   #根据HTTP规范,POST表示可能修改变服务器上的资源的请求。

| get                                                                                            | post                                                                |

|-----------------------------------------------------+-----------------------------------------------------------   |
| 从服务器上获取数据                                                                 | 向服务器传送数据                                          |
| 在客户端,通过URL提交数据                                                  | 数据放在HTML HEADER内提交                   |
| 服务器端用Request.QueryString获取变量的值                    | 服务器端用Request.Form获取提交的数据 |
| 提交的数据受到URL长度的限制,如IE限制长度为2083字节 | 没有限制                                                         |
| 参数显示在地址栏,不安全                                                      | 安全                                                                 |

 

示例代码

#+BEGIN_EXAMPLE
<!-分别通过get和post方式提交表单-->
<FORM ACTION="getpost.asp" METHOD="get">
<INPUT TYPE="text" NAME="Text" VALUE=">
<INPUT TYPE="submit" VALUE="Get方式"></INPUT>
</FORM>
<BR>
<FORM ACTION="getpost.asp" METHOD="post">
<INPUT TYPE="text" NAME="Text" VALUE=">
<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 %>

*HTTP响应实例*

HTTP响应实例

HTTP/1.1 200 OK

Date: Sat, 31 Dec 2005 23:59:59 GMT
Content-Type: text/html;charset=ISO-8859-1
Content-Length: 122
<html>
<head>
<title>Wrox Homepage</title>
</head>
<body>
<!-- body goes here -->
</body>
</html>
2.最常用的状态码有:

◆200 (OK): 找到了该资源,并且一切正常。

◆304 (NOT MODIFIED): 该资源在上次请求之后没有任何修改。这通常用于浏览器的缓存机制。
◆401 (UNAUTHORIZED): 客户端无权访问该资源。这通常会使得浏览器要求用户输入用户名和密码,以登录到服务器。
◆403 (FORBIDDEN): 客户端未能获得授权。这通常是在401之后输入了不正确的用户名或密码。
◆404 (NOT FOUND): 在指定的位置不存在所申请的资源。

转载于:https://www.cnblogs.com/qianye/archive/2012/11/24/2786419.html

你可能感兴趣的文章
Java Security(JCE基本概念)
查看>>
创建 PSO
查看>>
JasperReport报表设计4
查看>>
项目活动定义 概述
查看>>
团队冲刺04
查看>>
我的Python分析成长之路8
查看>>
泛型在三层中的应用
查看>>
SharePoint2010 -- 管理配置文件同步
查看>>
.Net MVC3中取得当前区域的名字(Area name)
查看>>
获得屏幕像素以及像素密度
查看>>
int与string转换
查看>>
adb命令 判断锁屏
查看>>
推荐一个MacOS苹果电脑系统解压缩软件
查看>>
1035等差数列末项计算
查看>>
CDMA鉴权
查看>>
ASP.NET MVC Identity 兩個多個連接字符串問題解決一例
查看>>
过滤器与拦截器区别
查看>>
第二阶段站立会议7
查看>>
JAVA多线程
查看>>
delphi 更改DBGrid 颜色技巧
查看>>