HTTP请求和响应理解-session和token

1、请求报文
(1)请求首行
请求方式 请求URL HTTP协议版本三部分组成,用空格连接;
http默认端口为80,可以省略;https(将请求体加密)模型端口是443;url:域名 端口号 路径(域会被DNS解析为IP)
请求方法:
get:查询数据;传参形式:查询字符串参数,在URL中用?开始,&连接多个参数。
post:向服务器提交数据(如:创建、新增)insert
put:改变服务器的数据(数据库update);有请求体和参数
delete:删除服务器资源数据;有请求体和参数
补充:HTTP1.0对于每个连接都只能传送一个请求和响应,请求就会关闭,HTTP1.0没有Host字段;而HTTP1.1在同一个连接中可 以传送多个请求和响应,多个请求可以重叠和同时进行,HTTP1.1必须有Host字段。
(2)请求头:(首部字段: 使用首部字段是为了给浏览器和服务器提供报文主体大小所使用的语言认证信息等内容)
Accept:希望服务器返回的数据格式类型;
User-Agent:标识客户端身份信息,指明客户端类型和内核版本;火狐、谷歌、APP
Authorization:授权信息,通常出现在对服务器发送的WWW-Authenticate头的应答中。
Content-Length:表示请求消息正文的长度。
(3)请求体
get请求体为空
2、响应报文
(1)响应首行:HTTP协议版本 响应状态码 描述信息
状态码
2xx:客户端响应正常;
201:created 通过POST或PUT创建资源成功;
204:NO CONTENT 资源修改成功,但是没有返回内容;delete操作
3xx:重定向;
301:永久重定向;将客户端发起的请求指向另一个路径;
302:临时重定向;
4xx:地址错误
401:没有权限访问资源;(没有登录)
403:访问权限受限,不在自己访问权限范围内(或缺少token、cookie);
404:按照url提供的地址没有找到资源;
405:方法不允许;请求方法错误;(如:服务器值提供了get方法,你却用post方法访问)
5xx:服务器内部错误;
(2)响应头
Content-Type:服务器返回的数据格式
set-cookie:绘画认证
(3)空一行
(4)响应体

3、session认证过程
服务器通过客户端的cookie和服务器端的session共同管理浏览器状态;用户第一次登陆后,服务器会保存用户的
登录信息在session中,这些session会存储在内存,磁盘,或者数据库。同时生成一个sessionid并将sessionid
存放在set-cookie中返回给客户端;客户端接收到 响应数据后会将set-cookie中的sessionid取出来保存在浏
览器的cookie中。以后客户端再向浏览器发起请求时会自动携带cookie,服务器接收到cookie得到里面的sessionid后
会做校验,校验通过则认证成功。(详细了解:http://www.woshipm.com/pd/864133.html)
4、Token认证过程
通过一次登录验证,服务器返回一个鉴权字符串给客户端(客户端将其保存在本地存储和会话存储中),以后客户端
发起请求会带着这个鉴权字符串给服务器进行校验;服务器端不会保存token信息。(这样就可以解决每次请求都要带账号密码的问题,而且也不需要
反复使用账号和密码)。(http://www.woshipm.com/pd/877760.html)(https://blog.csdn.net/qingmengwuhen1/article/details/80761445)
区别:
1、session认证需要在服务器端保留客户的认证信息,而token认证不需要在服务器端保留token认证信息;
2、session需要依赖于客户端的cookie机制,而token不需要;
3、token中包含用户的登录信息,而cookie中没有用户信息,只是有一个sessionid,session认证的用户信息是存放在
服务器的session中;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值