从数据传输的角度辨析表单设计时的 get 和 post 提交方法

举报
白鹿第一帅 发表于 2021/02/08 15:20:54 2021/02/08
【摘要】 定义表单数据从客户端传送到服务器的方法,包括两种方法:get 和 post,默认使用 get 方法。下面我们就对这两种最常用的数据传输方法进行辨析。

文章目录

  • 前言
  • 一、get 方法
    • 1、get 方法对传输的字符数有限制
    • 2、get 方法不具有保密性
    • 3、get 方法不能传输非 ASCII 码的字符
    • 4、get 方式提交数据被保存在请求数据包的请求行中
  • 二、post 方法
    • 1、post 方式提交表单数据大小没限制
    • 2、post 方式所传输的数据不会显示在浏览器的地址栏中
    • 3、post 方式提交数据被保存在请求数据包的请求体中
  • 总结

前言

定义表单数据从客户端传送到服务器的方法,包括两种方法:get 和 post,默认使用 get 方法。下面我们就对这两种最常用的数据传输方法进行辨析。

在这里插入图片描述


一、get 方法

1、get 方法对传输的字符数有限制

get 方法是将表单内容附加到 URL 地址后面,所以对提交信息的长度进行了限制,最多不能超过 8KB 个字符。如果信息过长,将被截去,会导致意想不到的处理结果。

2、get 方法不具有保密性

get 方法不具有保密性,表单中的数据会显示在地址栏中,不适于处理如银行卡卡号等要求保密的内容。

如下,我们设计一个表单,分别使用 get 方式和 post 方式对数据进行传输。

在这里插入图片描述
get 方式:我们可以在页面跳转的地址栏中清晰的看到用户填写的账号以及密码,这是非常不安全的!

在这里插入图片描述
post 方式:采用 post 方式进行传输,用户信息较为安全。

在这里插入图片描述

3、get 方法不能传输非 ASCII 码的字符

4、get 方式提交数据被保存在请求数据包的请求行中

二、post 方法

1、post 方式提交表单数据大小没限制

post 方法是将用户在表单中填写的数据包含在表单的主体中,一起传输给服务器上的处理程序,该方法没有字符个数和字符类型的限制,它包含了ISO10646中所有字符。

2、post 方式所传输的数据不会显示在浏览器的地址栏中

3、post 方式提交数据被保存在请求数据包的请求体中

注意区分 get 方法和 post 方法提交到服务器的数据在请求数据包中的位置。


总结

默认情况下,表单使用 get 方法传送数据,当数据涉及保密要求时,使用 post 方法。
在传送的数据是用于执行插入或者更新数据库时,则最好使用 post 方法,而执行搜索操作时可以使用 get 方法。

在这里插入图片描述


我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。