2345技术员联盟

HTTP协议中GET和POST的区别在哪里

HTTP协议中GET和POST方法的区别

HTTP GET和HTTP POST是使用HTTP的标准协议动词,用于编码和传送变量名/变量值对参数,并且使用相关的请求语义。每个http请求都由一系列HTTP请求头组成,这些请求头定义了客户端服务器请求了什么,而响应则是由一系列HTTP应答头和应答数据组成,如果请求成功则返回应答。  

HTTP GET以使用MIME类型application/x-www-form- urlencoded的urlencoded文本的格式传递参数。

Urlencoding是一种字符编码,保证被传送的参数由遵循规范的文本组成,例如一个空格的编码是"%20"。附加参数还能被认为是一个查询字符串。而http post参数也是被URL编码的。但是变量名和变量值不作为URL的一部分被传送,而是放在实际的HTTP请求消息内部被传送。

换句话说,get和post的区别在于:

如果以get方式传输,所带参数附加在URL后直接传给server,并可从server端的QUERY_STRING这个环境变量中读取;如果以post方式传输,则参数会被打包在数据报中传送给server,并可从CONTENT_LENGTH这个环境变量中读取出来。  

如果你的请求只是从服务器上获取数据,那使用get好了。但是如果你需要向服务器提交数据(比如Form表单),那么就得使用post。一般而言,get传送的数据有长度限制,而post理论上是无限的。get发生的数据在地址栏上可以被看到,而post方式传送的数据是看不到了。

相关文章

本文来自电脑技术网www.it892.com),转载本文请注明来源.
本文链接:http://www.it892.com/content/network/tabout/20131025/4971.html
热点排行
无觅相关文章插件,快速提升流量