GET 和 POST 区别
浏览器的get和post有什么区别?第1个从他们字面意思去理解这些,就是从网页上获取一个数据。然后这个获取数据是对服务器不会产生副作用的,术语就是数学上的 幂等
即多次操作不产生影响(比如任何数乘1或者乘0,多次乘之后,都不会变化),那样多次操作也不会去产生副作用。那post那这个就是一个单词就是邮寄的意思,相当于是要本地的数据传到服务器,那这个操作就会对服务器的数据更新或者创建,就会造成一个影响,它是有副作用的,对应的就是不幂等
。
第2个是安全性,从安全性讲的话,他们两个都是不太安全的,比较常见的是,那是get直接可以在后面加query string来发送每一个get。那post相对应的,除了有query string,还有body,那因此所有比较重要的信息都放在body里面
,这样就可以。相对的保证在浏览器那个地址里面看不到,那这样的话是通过SSL协议
通过加密http协议,就是https,那这样就保证了我们的get 和 post,它是相对应该安全的。
第3部分是针对测试需要做的工作,有返回码、内容、无效格式参数等
。针对get的特性制定,对应的第1个是返回的一个状态码。第2个还是通过根据的Query string参数获取的返回的值是不是一个正确,还多次返回多次get它们两个值是不是相等的,对应的无效格式是否有正确的响应。在POST测试相关的话,也是同样的这三个点,第1个是返回的状态,第2个是POST后,然后用GET或者对应的值,对比POST和GET的值相匹配。最后一个就是errorhandling测试,这部分测试的话主要是测试一个。参数格式是否正确,还有就是非要请求的一个测试。
关于http状态码返回的一个信息,有4类,那第1xx就是一开头的它是一个消息性的(这一类型的状态码,代表请求已被接受,需要继续处理)。2xx成功的。3xx是重定向,4xx是客户端的,5xx相对应的就是服务器的
。
第1个一开头的话这种。应用场景的话是对一些在需要继续操作的。比如说在post大文件或者是大数据之前做一个校验或者分批传送(stream api)这种那就会先对一个客户端建立一个TCP协议,返回一个1xx状态,就是代表可以通信的,然后再开始发布再推送后面的一个消息体,不是每次就把所有的数据传上去,然后等对方服务器去解析这个参数再来做一个回应,但是在一个小段内容里面就可以获取到你一个状态,然后再做后面的一个操作,就避免不必要的带宽的浪费。
第2个的话,开头的比较常见的就是200,这种我们最常见的,比如说请求成功都会返回一个200。
第3个是一个重定向。这里在遇到情况是比较少的,比如说像304这种。他就是代表你之前有没有在缓存中或者之前有访问过这个文件或者下载过这个文件,有的话就不需要重新,传输资源。
第4开头的话,这个比较常见。是客户端的一个错误,比如说像401 400 403 404。这种404是没找到,然后403是没有权限。
5xx的话就是一个服务器错误,比如说500就是服务器内部程序可能出现了一个Crash之类的,按502也是这种。
- 操作符与数据类型转换
- 超级强大的vim配置(vimplus)
- 美团App插件化实践
- 函数式编程在Redux/React中的应用
- 关于刘海打理这种事儿,美团点评的iOS工程师早就有经验了,不信你看!
- 这个Spring高危漏洞,你修补了吗?
- 详析JSONP跨域
- Android Binder漏洞挖掘技术与案例分享
- Stanford机器学习笔记-5.神经网络Neural Networks (part two)
- 监控平台前端SDK开发实践
- 一步步实现静态页面布局
- Stanford机器学习笔记-3.Bayesian statistics and Regularization
- 在R中使用支持向量机(SVM)进行数据挖掘
- 【你问我答】你与Java大牛的距离,只差这24个问题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android Studio修改Log信息颜色的实现
- Android 之BottomsheetDialogFragment仿抖音评论底部弹出对话框效果(实例代码)
- Yii框架的路由配置方法分析
- Android 购物车加减功能的实现代码
- Yii框架函数简单用法分析
- PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
- 浅析PHP7 的垃圾回收机制
- android BottomSheetDialog新控件解析实现知乎评论列表效果(实例代码)
- Laravel框架实现的上传图片到七牛功能详解
- Flutter沉浸式状态栏/AppBar导航栏/仿咸鱼底部凸起导航栏效果
- Android集成zxing扫码框架功能
- Android 实现抖音小游戏潜艇大挑战的思路详解
- 修改Android Studio 的 Logcat 缓冲区大小操作
- Android自定义View验证码输入框
- PHP生成随机字符串实例代码(字母+数字)