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方式传送的数据是看不到了。
 

你可能感兴趣的:(http协议,GET方法,POST方法)