状态码与COOKIE/SESSION/TOKEN的请求流程
一、常用的数据格式
1、JOSN
2、表单
3、XML
二、常用状态码
2.301 永久重定向(请求A的时候,会自动跳转到B)
我们以 www.360buy.com 和 www.jd.com 实战为例 当我们在网页搜索 www.360buy.com 的时候跳转出来的是 www.jd.com 的网页,那么我们就可以得到 www.360buy.com 是一个301永久重定向的链接
3.302 临时重定项
同样我我们也以 www.360buy.com 和 www.jd.com 实战为例
在日常工作中开发给你一个接口,你测试出来400可能就是以下问题:1、请求头不对
1.400 Bad Request 客户端请求错误
①.请求头不对
②.请求参数不对
2.401 Unauthorized ⽆权限访问该系统
认证(授权): 1、基本 basic 2、常规 digest 3、自定义 4、oauth2.0 (微信)
5.405 不被允许的请求⽅法
500 服务器内部错误
504 GateWay Timeout(网关超时,不一定是程序员代码的问题,也可能是第三方的问题,网关的优势统一API访问入口,监控API流量)
415:只有请求头不对
201 created :添加资源成功
204 Not Content :删除资源成功
特殊场景:
cookie: 反爬虫 ,认证授权
referer:请求目标地址是从哪里来的
content-type:代表的是什么样的数据格式
user-agent:代表的是访问目标服务器,是通过什么来访问
四、返回头
Set-cookie:服务端把生成的认证凭证信息返回给客户端
HTTP的协议
HTTP是一个无状态的协议,所以也就导致了COOKIE技术的发展,通过COOKIE能够记下用户操作的行为状态,但是COOKIE它是存储在客户端的,所以就不安全,为了解决安全的问题,SESSION诞生,SESSION它是存储在服务端,相对来说比较安全。后面移动互联网诞生,就有了TOKNE,TOKNE本质上是SESSION原理来实现的,使他成为一个令牌,TOKEN的实现技术就是JWT的技术,http是互联网底层的架构。
1、存储在客户端
2、不安全
以登录为案例来说明COOKIE的流程:
1、客户端输入账户密码登录成功
2、在服务端生成COOKIE的信息,通过响应头中的SET-COOKIE吧生成的COOKIE返回给客户端
3、客户端在下次请求的时候,通过请求头中的cookie吧返回的cookie带上发送给服务端,服务端内部进行验证
SESSION请求
SESSION流程:
1、客户端输入账户密码登陆成功
3、客户端接收到SESSIONID后
4、客户端在次请求客户端(比如访问个人主页),会在请求头上的cookie中带上SESSIONID发送给客户端
5、服务端接收客户端发送过来的SESSIONID,与存储在丰服务端的本地SESSIONID中会进行对比,如果一致,允许访问个人主页,如果不一致,就会重定到
TOKEN
TOKEN特点:
1、每次登录成功后,生成的TOKEN都是不一样的
2、返回的token是一个随机的字符串
持久化:把某些特定的信息存储下来(临时/永久)