【Android】cookiesessiontoken技术点总结

    xiaoxiao2022-07-12  155

    1、cookie和session机制

    (1)HTTP Cookie(也叫 Web Cookie或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie 使基于无状态的 HTTP 协议记录稳定的状态信息成为了可能。

    Cookie 主要用于以下三个方面:

    会话状态管理(如用户登录状态)

    个性化设置(如用户自定义设置、主题等)

    浏览器行为跟踪

    (2)Session 代表着服务器和客户端一次会话的过程。

    当客户端关闭会话,或者 Session 超时失效时会话结束。

    客户端首次请求服务端时,服务端会为客户端生成一个sessionID,客户端的后续请求需要带上这个sessionID。

    2、cookie和session区别

    cookie存储在客户端,session存储在服务端。

    Cookie 可设置为长时间保持,Session 一般失效时间较短,客户端关闭或者 Session 超时都会失效。

    cookie存储数据量比session要小。

    3、我们知道http协议是无状态的,为了解决无状态问题引入了cookie和session。

    4、token机制

    Token 机制多用于 App 客户端和服务器交互的模式。

    Token 的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。Token 机制和 Cookie 和 Session 的使用机制比较类似。

    当用户第一次登录后,服务器根据提交的用户信息生成一个 Token,响应时将 Token 返回给客户端,以后客户端只需带上这个 Token 前来请求数据即可,无需再次登录验证。

    5、Jsonp 跨域访问原理

    (1)同源策略

    说到跨域,首先要明白同源策略。同源是指JS只能访问相同协议、相同域名、相同端口的页面,即"协议+域名+端口"三者相同。

    (2)Jsonp 跨域原理

    浏览器的同源策略把跨域请求都禁止了,但是页面中的 <script><img><iframe>标签是例外,不受同源策略限制。Jsonp GET就是利用 <script> 标签跨域特性进行跨域数据访问。

    (3)jsonp跨域只能是get请求,不能是post请求。

    因为<script>等标签引入外部资源都是get请求的。

     

     

     

    最新回复(0)