post和get请求的区别

get吧数据放在网址中,例如:http://www.abc.com/index.php?a=1&b=2 其中?a=1&b=2就是get数据,并且连http://www.abc.com/index.php长度限制在1024个字。
post则是把数据放到http请求中,例如还是传输a=1&b=2,可是网址还是http://www.abc.com/index.php,想看到post数据可以用一些抓包工具,如Wireshark等
以下是摘自hhqcontinue朋友的更详细的解释:

二、表现形式区别

搞清楚了两者的原理区别后,我们来看一下在实际应用中的区别。

首先,我们先看一下HTTP请求的格式:

[plain] view plaincopy
  1. <method> <request-URL> <version>
  2. <headers>
  3. <entity-body>
在HTTP请求中,奇异行必须是一个请求行,包括请求方法,请求URL,报文所用HTTP版本信息。紧接着是一个herders小节,可以有零个或一个首部,用来说明服务器要使用的附加信息。在首部之后就是一个空行,最后就是报文实体的主体部分,包含一个由任意数据组成的数据块。但是并不是所有的报文都包含实体的主体部分。 GET请求实例: [plain] view plaincopy
  1. GET http://weibo.com/signup/signup.php?inviteCode=2388493434
  2. Host: weibo.com
  3. Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
POST请求实例: [plain] view plaincopy
  1. POST /inventory-check.cgi HTTP/1.1
  2. Host: www.joes-hardware.com
  3. Content-Type: text/plain
  4. Content-length: 18
  5. item=bandsaw 2647
接下来看看两种请求方式的区别: 1、GET请求,请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接。URL的编码格式采用的是ASCII编码,而不是uniclde,即是说所有的非ASCII字符都要编码之后再传输。 POST请求:POST请求会把请求的数据放置在HTTP请求包的包体中。上面的item=bandsaw就是实际的传输数据。 因此,GET请求的数据会暴露在地址栏中,而POST请求则不会。 2、传输数据的大小 在HTTP规范中,没有对URL的长度和传输的数据大小进行限制。但是在实际开发过程中,对于GET,特定的浏览器和服务器对URL的长度有限制。因此,在使用GET请求时,传输数据会受到URL长度的限制。 对于POST,由于不是URL传值,理论上是不会受限制的,但是实际上各个服务器会规定对POST提交数据大小进行限制,Apache、IIS都有各自的配置。 3、安全性 POST的安全性比GET的高。这里的安全是指真正的安全,而不同于上面GET提到的安全方法中的安全,上面提到的安全仅仅是不修改服务器的数据。比如,在进行登录操作,通过GET请求,用户名和密码都会暴露再URL上,因为登录页面有可能被浏览器缓存以及其他人查看浏览器的历史记录的原因,此时的用户名和密码就很容易被他人拿到了。除此之外,GET请求提交的数据还可能会造成Cross-site request frogery攻击 4、HTTP中的GET,POST,SOAP协议都是在HTTP上运行的 三、HTTP响应 HTTP响应报文的格式 [plain] view plaincopy
  1. <version> <status> <reason-phrase>
  2. <headers>
  3. <entity-body>
status,状态码描述了请求过程中发生的情况 reson-phrase 是数字状态码的可读版本 常见的状态码以及含义如下: 200 OK 服务器成功处理请求 301/302 Moved Permanently(重定向)请求的URL已移走。响应报文中应该包含一个Location URL,说明资源现在所处的位置 304 Not Modified(未修改) 客户的缓存资源是最新的,要客户端使用缓存内容 404 Not Found 未找到资源 501 Internal Server Error 服务器遇到错误,使其无法对请求提供服务 HTTP响应示例 HTTP/1.1 200 OK
时间: 2024-10-05 10:51:01

post和get请求的区别的相关文章

普通请求和ajax请求的区别

普通请求和ajax请求的区别? 下面的action返回一个json文件,文件内容为sts.*,data1

2-16Http方法:Get请求与Post请求的区别(转载自豆瓣)

Http方法:Get请求与Post请求的区别Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求Get是获取信息,而不是修改信息,类似数据库查询功能一样,数据不会被修改Get请求的参数会跟在url后进行传递,请求的数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连,%XX中的XX为该符号以16进制表示的ASCII,如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密.Get传输的数据有大小限制,因为

POST和GET以及同步请求和异步请求的区别

一.HTTP是应用层的网络传输协议,对于HTTP的请求方式主要流行的GET请求与POST请求对于GET请求与POST请求的区别 1.GET请求,服务器以及参数都会出现在请求接口中,也就是请求参数也是接口的一部分,而POST请求在接口中只有服务器地址,而参数会作为请求提交给服务器. 2.因为GET请求会出现在请求接口中,所以信息容易被捕获,安全性低,POST请求参数封装在请求体中,作为二进制流进行传输,不易被捕获,安全性高. 3.GET在请求时,接口的字节数有限制,支持小数据的提交,而POST请求

Ajax中Get请求与Post请求的区别

写在前面的话 我们在使用Ajax时,当我们向服务器发送数据时,我们可以采用Get方式请求服务器,也可以使用Post方式请求服务器.那么,我们什么时候该采用Get方式,什么时候该采用Post方式呢? Get请求和Post请求的区别 1.使用Get请求时,参数在URL中显示,而使用Post方式,则不会显示出来 2.使用Get请求发送数据量小,Post请求发送数据量大 例子 页面的HTML代码: <html xmlns="http://www.w3.org/1999/xhtml">

GET和POST请求的区别

GET和POST请求的区别 GET请求 GET /books/?sex=man&name=Professional HTTP/1.1Host: www.wrox.comUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)Gecko/20050225 Firefox/1.0.1Connection: Keep-Alive注意最后一行是空行 POST请求 POST / HTTP/1.1Host: www.wrox.

Ajax相关——get请求和post请求的区别

一.完整的URL由以下几部分组成: scheme:通信协议,常用的有:http/ftp. host:主机,服务器(计算机)域名或IP地址 port:端口,整数,可选,省略时使用默认端口,http的默认端口是80. path:路径,由零或多个"/"符号隔开的字符,一般用来表示主机的一个目录或者文件地址 query:查询,可选,用于给动态网页(如用CGI.ISAPI.PHP/ASP/JSP/ASP.NET等技术制作的网页)传递参数,用"&"符号隔开,每个参数的名

(转)IOS http请求的get 和 post的请求的区别

从表面的意思看get 和 post的区别get就是获取数据,post就是发送数据.这个是误区.其实两者都可以的,在IOS向服务器发送请求里面可以带参数. 那么这些误区是怎么出现的呢?先看看一下对http的解释 一般在浏览器中输入网址访问资源都是通过GET方式:在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交 Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE URL全称是资源描述符,我们可以这样认为:一个

Get请求与Post请求的区别

在做高校云平台期间,相信大家都遇到了传值问题,估计大家对于Get与Post的请求方式都已经得心应手.用是用了,但是对于其中的区别,但是,如果不去总结,总感觉这知识自己还没有掌握,我们今天就来分析一下. 在提供服务器请求的过程中,有两种方式,分别是:Get与Post. Get请求是最常见的请求类型.最常用于向服务器查询某些信息.必要时可以将查询字符串参数追加到URL的末尾,以便提交到服务器.通过URL后的问号给服务器键值对传递数据,服务器接收到返回响应数据. Post请求可以包含很多的数据,我们在

PUT和POST请求的区别

参考:http://blog.csdn.net/yangruibao/article/details/7898788 有的观点认为,应该用POST来创建一个资源,用PUT来更新一个资源:有的观点认为,应该用PUT来创建一个资源,用POST来更新一个资源:还有的观点认为可以用PUT和POST中任何一个来做创建或者更新一个资源.这些观点都只看到了风格,争论起来也只是争论哪种风格更好,其实,用PUT还是POST,不是看这是创建还是更新资源的动作,这不是风格的问题,而是语义的问题. 在HTTP中,PUT

HTTP请求方式:GET和POST请求的区别

GET和POST是HTTP的两个常用方法. 什么是HTTP? 超文本传输协议(HyperText Transfer Protocol -- HTTP)是一个设计来使客户端和服务器顺利进行通讯的协议. HTTP在客户端和服务器之间以request-response protocol(请求-回复协议)工作. GET - 从指定的服务器中获取数据 POST - 提交数据给指定的服务器处理 GET方法: 使用GET方法时,查询字符串(键值对)被附加在URL地址后面一起发送到服务器: /test/demo