get和post的区别

GET和POST是什么

基本概念

GET和POST是 HTTP协议中的两种发送请求的方法

HTTP是什么

HTTP是hypertext transfer protocol(超文本传输协议)的简写, 它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。
客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求。 一个完整的HTTP请求包括如下内容:一个请求行、若干消息头、以及实体内容
请求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT

HTTP协议实际上是基于RFC规范的,实际上GET和POST请求的语法是完全相同的,但是在RFC规范中,给GET请求和POST请求规定了语义,规定GET用来获取信息,POST用来发送信息

get与post的区别

如果什么前提都没有,也就是不用任何规范限制的话,我们只考虑语法来说,这两个方式是没有任何区别的,只有名字不一样
如果考虑浏览器实现的RFC,或者说Web环境下的RFC的话,那么区别就很明显了

get方式

  1. GET方式是通过URL请求传递用户所输入的内容,其提交的内容会全部显示的浏览器的地址栏中;其安全性很低。如果用户输入的内容包含密码之类的私人信息时很容易被其他人获取
  2. GET方式提交需要用到Request.QueryString来取得变量的值
  3. GET提交具有长度限制,最长不能超过2048字节
  4. GET是从服务器上获取数据
  5. GET是把参数数据队列加到提交表单的action属性所指的URL中,值和表单内容一一对应,在URL中可以看到
  6. 在页面重新刷新载入时,没有提示框询问“是否重新发送请求”
  7. 在做请求时,GET是将表单内容放到信息的请求头中

post方式

  1. POST提交不会将用户所输入的个人信息显示在浏览器的地址栏中且地址栏中没有什么变化
  2. POST方式提交需要用到Request.Form来取得变量的值
  3. POST没有提交长度限制
  4. POST是向服务器传送数据
  5. POST是通过HTTP post机制,将表单内容 中各个字段与其内容旋转在HTML HEADER内一起传送到action属性所批的URL地址。用户是看不到这一过程的
  6. 在页面重新刷新载入时,会有提示框询问“是否重新发送请求”

幂等

幂等的概念

如果一个操作没有副作用,或者多次操作对资源产生的副作用相同,我们就说这个操作是幂等的

区别

get方法用户获取资源,没有副作用,所以是幂等的;

post用于创建资源,是有副作用的,且副作用不同,所以post不是幂等的。(两次相同的POST请求会在服务器端创建两份资源,它们具有不同的URI)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是阿超

现在二师兄的肉比师父的都贵了.

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值