GET和POST的区别

get和post的区别

HTTP的请求方法有:
GET和POST的区别
get和post都是HTTP常用的请求方法。
区别:
1、get通过URL地址栏传输,post通过报文传输。
2、get参数有长度限制,post无限制。
3、get产生一个数据包,post产生2个数据包。
4、URL是可见的,post将字段与对应值封存在请求实体中,post比get安全。
注意:1、get提交的数据最大是2k(原则上url长度无限制,但是限制实际上取决于浏览器,(大多数)浏览器通常都会限制url长度在2K个字节,即使(大多数)服务器最多处理64K大小的url。也没有用。)。post理论上没有限制。实际上IIS4(IIS4/5是web服务器程序)中最大量为80KB,IIS5中为100KB。
2、get方法将http header和data一并发送出去,服务器响应200,只需要发送一次。而post方法先发送http header,等服务器响应100,再发送data,服务器响会应200,需要发送两次。简单来说get发送请求时直接把数据向服务器发送过去,而post会先打声招呼,得到服务器答应后在发送请求数据。
3、get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?“连接,多个请求数据间用”&"连接,http://127.0.0.1/Test/login.action?name=admin&password=admin,这个过程用户是可见的;post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的;get中URL可见而post不可见,所以post比get更安全。
注意:查询建议使用get方法速度快,增、删、改用post方法,用户登录用post。