之前一直只是知道使用POST比GET安全,也不知道为什么,其他的也不知道还有什么区别。
那么POST和GET是什么呢,他们又有什么区别呢?
是什么
GET和POST是客户机和服务器之间进行请求-响应是的俩种方法
区别
GET | POST |
---|---|
是从指定的资源请求数据 | 向指定的资源提交要被处理的数据 |
GET请求的所有参数都在URL中 | POST请求的所有参数不URL中 |
可以为GET请求建立书签 | 不可以为POST请求建立书签 |
保留表单输入值 | 不保留表单输入值 |
GET不会改变服务器的状态,客户端可以向服务器重复地发送GET请求而不会发生负面影响 | POST请求会改变服务器上的状态,重复提交POST请求可能会产生不良后果 |
GET请求用于读操作 | POST请求用于写操作 |
不安全 | 安全 |
对数据长度有限制(URL的最大长度是2048个字符) | 无限制 |
数据类型只允许ASCII | 没有限制 |
总结
之前想着POST比GET安全,所以一直想着那就用POST吧,安全挺好,现在才知道,不能什么什么情况都用POST的,而是要根据实际情况选择合适的该用的请求方法。就比如说,购物时,由于重复提交俩次POST请求(可能是刷新操作造成的),就会产生俩个订单,所以这个时候就适合用GET方式。而发送密码时,由于GET的安全性较差,发送的数据是URL的一部分,所以这个时候就适合用POST方式。所以说POST与GET这俩种方式各有优缺点,选择使用什么方式,要根据实际情况来做选择,所以说要在“对的时间对的地点使用对的方法”。