HTTP请求构成及POST和GET区别

灵魂三问:

  1. 请求报文的构成
  2. 常见请求有哪些
  3. POST和GET区别

1、请求报文的构成
HTTP 请求由三部分组成:

  • 请求行

  • 请求首部

  • 请求实体

    GET /index.html HTTP/1.1 // 请求行一般长这样

2、常见请求有哪些

  • GET 获取资源
  • PUT 传输文件
  • POST 传输实体主体
  • HEAD 获得报文首部
  • DELETE 输出文件
  • OPTIONS 询问支持的方式
  • TRACE 追踪路径
  • CONNECT 要求用隧道协议连接代理

3、GET 和 POST 区别
从技术上来讲:

  • GET 请求能缓存,POST 不能

  • POST 相对 GET 安全一点,因为 GET请求都包含在 URL里,且 GET 会被浏览器保存历史记录,可以设置为 标签。

  • GET 请求由长度限制(2k),POST 理论上没有

  • POST 支持更多的编码类型且不对数据类型限制

这里还需要引入 副作用幂等性 的概念:
副作用 指对服务器上的资源做改变,搜索是无副作用的,注册是副作用的。
幂等性 指发送 M 和 N 次请求(两者数值不同且都大于1),服务器上资源的状态一致。注册2个账号和注册3个账号是不幂等的(POST方法不幂等),GET 方法访问一个网站,访问一次和10次都没有改变网站的资源,所以是幂等的(PUT,DELETE也是),且无副作用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值