Get和Post请求方式的区别:
请求方式 | 数据位置 | 数据安全 | 长度限制 | 数据类型 | 应用场景 |
Get | 附加在URL之后 | 不安全 | 受URL长度的限制 | 只允许ASCII字符类型 | 查询数据 |
Post | http请求包的包体中 | 安全 | 可支持较大数据的传输 | 无限制,允许二进制数据 | 修改数据 |
Post请求使用场景:
1、请求的结果有持续性的副作用,eg:数据库内添加新的数据行。
2、若使用Get方法,则表单上收集的数据可能导致URL过长。
3、要传送的数据U币是采用7位的ASCII进行编码。
Get请求使用场景:
1、请求是为了查找资源,HTML表单数据仅用来帮助搜索。
2、请求结果无持续性的副作用。
3、收集的数据及HTML表单内的输入字段名称总长不超过1024个字符。
注:
关于限制长度:
(1)http协议并未规定get和post的长度限制
(2)get的最大长度限制是因为浏览器和web服务器限制了URL的长度
(3)不同的浏览器和web服务器,限制的最大长度不一样
(4)要支持IE,则最大长度为2083byte,若支持Chrome,则最大长度8182byte
(5)对于POST,由于不是URL传值,理论上是不会受限制的,但是实际上各个服务器会规定对POST提交数据大小进 行限制,Apache、IIS都有各自的配置。