12.5. get 和 post 区别
- 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 的请求头中。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论