1. 简述图片验证码使用流程?
1.前段生成UUID随机值,作为GET请求参数
2.后端试图进行判断,调用工具类来生成图片验证码和内容
3.将验证码内容使用redis保存到本地,前端传入的uuid作为key,
4.在前段输入获取到的图片验证码,想后端发送请求并携带参数和验证
5.后端校验手机号,UUID,验证码,相应成功,
6.用户输入短信验证码后,输入密码,点击注册,向服务器发送请求
7.保存用户信息到session中,注册成功,刷新前段页面到主页面或到登录界面
2. 谈谈你对restful风格url的理解?
资源:互联网所有的事物都可以被抽象为资源
资源操作:分为POST、DELETE、PUT、GET四种方法,使用不同方法对资源进行操作(增、删、改、查)
特点:
具象的,一般指表现层,要表现的对象就是资源,比如客户端访问服务器,获取得数据就是资源。
表现:资源的表现形式,txt格式,html格式,json 格式,jpg格式,浏览器通过URL确定资源的位置,但是需要在HTTP
请求头中,用Accept和Content-type字段指定,这两个字段对资源表现的描述。状态转换:客户端和服务器交互的过程中,一定会有数据和状态的转化,这种转化叫做状态装换其中GET表示
获取资源 POST :表示新建资源,PUT表示更新资源,DELETE:表示删除资源。
RESTful架构:每个URL代表一种资源,客户端和服务器之间,传递这种资源和某种表现层;客户端通过四个http动词,对服务器资源进行操作,实现表现层状态转换。
3. 简述图片验证码的使用过程?
1.安装pillow模块和captche模块,
2.用后端代码生成内容
3.根据内容生成图片验证码图片
4.查看生成的图片验证码内容
4. 简述项目开发流程及谈谈你对提测代码的理解?
分析流程–>文档编写–>前后端分离开发–>自测功能能否实现–>功能提测(将代码提交给测试人员,测试代码是否符合规范)
可以大大提高测试质量和效率,同时还可以提高编程能力
5. 描述接口文档的编写过程?
接口名字,接口功能,接口访问地址,客户端请求方式,客户端传递过来的参数,描述服务起端口传给客户端的内容
6. 简述将后端图片验证码应用于前端的过程?
将图片验证码地址赋值给图片的src属性, 在页面加载完毕后或者点击生成图片验证码时重新生成
图片验证码
html代码:
<div class="input-group-addon image-code" onclick="generateImageCode();">
<img src="">
</div>
function generateImageCode() {
//形成图片验证码的后端地址,设置到页面中,让浏览器请求验证码图片
//1.生成图片验证码编号
var imageCodeId = generateUUID()
//指定图片验证码的url地址
var url = “/api/v1.0/image_codes/”+imageCodeId
$(“.image-code img”).attr(“src”,url)
}
js:
$(document).ready(function() {
//当页面加载完毕后自动调用的函数
generateImageCode();
}
function generateUUID() {
var d = new Date().getTime();
if(window.performance && typeof window.performance.now === "function"){
d += performance.now(); //use high-precision timer if available
}
var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = (d + Math.random()*16)%16 | 0;
d = Math.floor(d/16);
return (c=='x' ? r : (r&0x3|0x8)).toString(16);
});
return uuid;
}
function generateImageCode() {
//形成图片验证码的后端地址,设置到页面中,让浏览器请求验证码图片
//1.生成图片验证码编号
var imageCodeId = generateUUID()
//指定图片验证码的url地址
var url = "/api/v1.0/image_codes/"+imageCodeId
$(".image-code img").attr("src",url)
}