城东书院 www.cdsy.xyz
- get 是从服务器上获取数据,post 是向服务器传送数据。
- get 是把参数数据队列加到提交表单的 ACTION 属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post 是通过 HTTP 的 post 机制,将表单内各个字段与其内容放置在 HTML header 内一起传送到 ACTION 属性所指的URL地址。用户看不到这个过程。
- 对于 get 方式,服务器端用 Request.QueryString 获取变量的值,对于post方式,服务器端用 Request.Form 获取提交的数据。
- get 传送的数据量较小,因为受URL限制,不能大于 2KB,但是效率高。
post 传送的数据量较大,一般被默认为不受限制,所以上传文件时只能用 post。但理论上,IIS4 中最大量为 80KB,IIS5 中为 100KB。
- get 安全性非常低,因为URL是可见的,可能会泄露私密信息,如密码等,post 安全性较高。但是执行效率却比 Post 方法好。
- get 方式只能支持 ASCII 字符,向服务器传的中文字符可能会乱码。
post 支持标准字符集,可以正确传递中文字符。
- get 请求可以被缓存,可以被收藏为书签,但 post 不行。
- get 请求会保留在浏览器的历史记录中,post 不会。
SO:
1、get 方式的安全性较 Post 方式要差些,包含机密信息的话,建议用 Post 数据提交方式;
2、在做数据查询时,建议用 Get 方式;而在做数据添加、修改或删除时,建议用 Post 方式
PS: POST 请求仅比 GET 请求略安全一点,它的数据不在 URL 中,但依然以明文的形式存放于 HTTP 的请求头中。
城东书院 www.cdsy.xyz