post与get请求的区别
GET后退按钮/刷新无害,POST数据会被重新提交。
鉴权,返回时POS不能重新请求,GET会重新请求
GET书签可收藏,POST为书签不可收藏。
GET能被缓存,POST不能缓存 。GET因为是读取,就可以对GET请求的数据做缓存。这个缓存可以做到浏览器本身上,是幂等的。POST因为不幂等意味着不能随意多次执行,因此也就不能缓存,比如POST下一个订单,服务器创建了新的订单,然后返回订单成功的页面,这个页面不能被缓存
GET编码类型application/x-www-form-url,POST编码类型encodedapplication/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。
GET历史参数保留在浏览器历史中。POST参数不会保存在浏览器历史中。
GET对数据长度有限制,当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的。POST无限制。
GET只允许 ASCII 字符。POST没有限制。也允许二进制数据。
与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。在发送密码或其他敏感信息时绝不要使用 GET !POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。GET的数据在 URL 中对所有人都是可见的。POST的数据不会显示在 URL 中。
览器用GET请求来获取一个html页面/图片/css/js等资源;用POST来提交一个<form>表单,并得到一个结果的网页
GET和POST携带数据的格式,get参数拼接方式,post报文方式
如果是作用与接口,get实际上也可以带body,post也可以在url上携带数据,所以实际上如何携带私密数据要看具体场景具体分析,绝大多数情况下使用post+body写私密是合理的
使用HTTP时大家会有一个约定,即所有的“控制类”信息应该放在请求头中,具体的数据放在请求体里“。于是服务器端在解析时,总是会先完全解析全部的请求头部。
登录页面相关的一个例子
没想到还能遇见这种面试题,说实话已经N年没有关注这种web端的登录测试了,除了正反向用例外问了一下,如果有10个用例,接口如何设置让他一下跑完整个登录测试,不可能一个接口去调用一次再去改一次参数。
一个接口出现异常,如何判断问题在哪里
我:根据接口文档,排查接口相关信息是否正确
面试官:没有接口文档
我:还是根据参数、日志等方面回答这个问题
有没有写过工具
这个就是根据真实情况回答即可,大部分测试是没有写过工具的,一部分测开可能会写过工具,如果写过自动化测试框架这些可以说一下,requests + unittest,appium,selenium等,如果能搭建一个自动化平台最好。
token、cookie、session
这个基本根据安全方面回答的,cookie是在浏览器永久储存的,下一次请求同一网站时,会把该cookie发送过去,session id在服务器中创建会存储到cookie中,一旦用户登出session不管是在浏览器还是在服务器都会被销毁,token是服务器创建放在浏览器中,一旦用户登录,token在浏览器端被销毁不用经过服务器。
日常中出现问题,牵扯到多个系统该是怎么解决的
根据日常实际做法回答,先判断自身系统是否是问题根源,如果不是查看日志。看是否其他系统的返回信息错误
网友评论