美文网首页
post 和 get 方式提交数据的区别

post 和 get 方式提交数据的区别

作者: 饥人谷_易燃 | 来源:发表于2018-03-30 14:19 被阅读0次

我们在写html的表单的时候,通常开始第一句为:

<form action="/a" method="post"></form>

其中form标签的属性method有两种选择,一种是get,一种是post;

method

属性method是告诉浏览器使用哪种方式发送表单数据(表单数据提交到到 action 属性所规定的页面),默认值为get,推荐使用post

二者区别

原理不同

GET只允许 ASCII 字符,如果含有非ASCII字符,;POST没有限制,也允许二进制数据;
GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:

login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。

如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。
POST把提交的数据则放置在是HTTP包的包体中。

表象不通

GET提交的数据可以在浏览器的URL直接看到,POST则不会这样

数据量

虽然HTTP对于URL的长度没有限制,但是GET因为浏览器限制,最多提交1k的数据;POST理论上没有限制,但是实际上要受到服务器的限制

安全性

  • GET的安全性比POST要差一些,因为GET提交的数据会在浏览器URL中直接看到,这样会容易导致信息泄露,而POST请求则不会;并且GET提交可以被浏览器缓存,POST缓存大多数浏览器都不支持,所以GET的数据可以在浏览器历史记录中查到;
  • 还有一种网上说的安全是指的是在规范的定义下,GET操作不会修改服务器的数据

场景不同

GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。

参考:

浅谈HTTP中Get与Post的区别

为什么说:"对参数的数据类型,GET只接受ASCII字符,而POST没有限制?"

HTTP 请求中 POST 和 GET 请求的区别? - 知乎

相关文章

  • HTML-form表单学习笔记

    一. post和get方式提交数据的区别 安全性:get提交的数据url可以看得到,post看不到,并且get提交...

  • 表单

    一. post和get方式提交数据的区别 安全性:get提交的数据url可以看得到,post看不到,并且get提交...

  • URLConnection以post方式提交数据

    post请求跟get请求的区别 一 ☆☆☆☆☆☆☆和get方式提交数据 区别 路径不同 二 ☆☆☆☆☆☆☆和get...

  • html表单标签

    本文分享form表单的一些使用方法 post 和 get 方式提交数据的区别: 提交方式区别 GET请求的数据会附...

  • Jsp 动态网页设计

    一、表单提交方式之Get和Post的区别 Get:以明文的方式通过URL提交数据,数据在URL中可以看到。提交的数...

  • 表格

    1.post 和 get 方式提交数据有什么区别? 1.表象不同,get把提交的数据url可以看到,post看不到...

  • 前端面试题之HTML(二)

    post和get方式提交数据有什么区别? 表象不同,get把提交的数据url可以看到,post看不到 原理不同,g...

  • HTML表单

    post 和 get 方式提交数据有什么区别? 区别有以下五点,如下所示 表象不同,get把提交的数据url可以看...

  • 这份PHP面试题,我只挑重点,且很详细

    基础篇 1 Get 和 POST 的区别 表单提交中get和post方式的区别有5点 get是从服务器上获取数据,...

  • 这份PHP面试题,我只挑重点,且很详细

    基础篇 一.Get 和 POST 的区别表单提交中get和post方式的区别有5点1.get是从服务器上获取数据,...

网友评论

      本文标题:post 和 get 方式提交数据的区别

      本文链接:https://www.haomeiwen.com/subject/rvtbcftx.html