网站首页 > 技术文章 正文
最近接到一个需求,接口文档是这样子的:提交表单时,弹窗提醒用户是否打印,如果用户点击打印,就将表单里的相关信息封装成JSON格式的数据经过UrlEncode编码后通过GET请求直接调用对方打印接口进行打印操作。我很疑惑的是,这样做安全吗?首先是接口,万一遇到恶意攻击,恶意调用该接口是否会造成该接口崩溃(不知道对方是如何处理这种情况);对方拿到GET请求后,通过UrlEncode解码也能获取到数据。
相信GET、POST请求大家都非常了解。大家也经常使用的两种请求方法,有没有公司强制规范所有接口都必须用POST请求的。还在学校那会,做一些简单的设计呀,登录啥的都是直接用的GET效率还挺高。POST、GET请求到底有什么不同呢?
1、首先安全,刚刚开头就讲了安全性问题。GET安全性较差,GET请求所发送的数据是URL的一部分,大家都能看到里面的数据。而POST则不同,POST请求参数不会被保存在浏览器历史或者WEB服务器日志中,数据也不会显示在URL中。
平时开发用Postman测试POST请求时一般将请求参数写下Body下,并采用JSON的格式。
2、数据长度的限制。GET方法在发送请求时是将参数添加到URL中的,而URL的长度是受限制的(每个浏览器限制的长度也有差异);POST的请求理论上来说是不受限制。
3、数据类型限制。GET请求只允许ASCII字符,而POST没有限制。
4、针对浏览器不同,GET和POST请求也有些许差异。对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200;POST请求浏览器先发送header,服务器响应100 ,浏览器再发送data,服务器响应200 (并不是所有的浏览器都是这样)。这是不是意味着GET请求可以用来优化网站的性能呢?
猜你喜欢
- 2024-11-06 JavaScript学习笔记(二十五)——HTTP
- 2024-11-06 原生js实现文件下载并设置请求头header
- 2024-11-06 干货-Http请求get、post工具类(get和post请求的区别是什么)
- 2024-11-06 聊聊在springcloud gateway如何获取请求体
- 2024-11-06 python接口自动化-发送get请求(python get请求 url传参)
- 2024-11-06 想测试HTTP响应不知道如何开展怎么办?
- 2024-11-06 接口测试遇到500报错?别慌,你的头部可能有点问题
- 2024-11-06 一文讲清HPP的请求方法和过程(hp partsufer)
- 2024-11-06 HTTP请求对象(获取用户请求信息)(如何查看http请求的头部信息)
- 2024-11-06 学习笔记-HTTP 请求方法详解(学习笔记-HTTP 请求方法详解pdf)
- 最近发表
-
- 使用Knative部署基于Spring Native的微服务
- 阿里p7大佬首次分享Spring Cloud学习笔记,带你从0搭建微服务
- ElasticSearch进阶篇之搞定在SpringBoot项目中的实战应用
- SpringCloud微服务架构实战:类目管理微服务开发
- SpringBoot+SpringCloud题目整理
- 《github精选系列》——SpringBoot 全家桶
- Springboot2.0学习2 超详细创建restful服务步骤
- SpringCloud系列:多模块聚合工程基本环境搭建「1」
- Spring Cloud Consul快速入门Demo
- Spring Cloud Contract快速入门Demo
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)