• requests库入门-16-Session和Cookie


    分类专栏: Python接口自动化测试之requests库入门

    作者 | Anthony_tester ,300w+访问量博主,Oracle测试开发工程师。

    地址 | https://blog.csdn.net/u011541946/article/details/77745924

    声明 | 本文是 Anthony 原创,已获授权发布,未经原作者允许请勿转载

           我们可能听说了Session和Cookies,面试中可能也会被问到这个两者之间的区别。本篇主要通过画图来理解两个机制,然后通过回到两个机制的不同来结束整个Requests的学习。

    1.为什么需要Session和Cookie

           我们知道HTTP是一种无状态的响应。上一个请求和下一个请求没有任何关系。但是现实过程中,需要这些请求之间有关系。例如,你在首页登录,但是进入到列表页就显示没有登录,点击一个数据提示你还需要登录。为了解决这样问题,需要两个机制,那就是Session 和 Cookie640?wx_fmt=png       浏览器第一次发送请求,没有带cookies,服务器收到之后,在数据库找,找到有相关权限。服务器就给出相应,并设置一个cookie。浏览器收到服务器发送过来的cookie,就开始解析cookie,并把这个cookie保存到本地。这样,以后浏览器每次发送请求,都带上cookie,服务器会对cookie进行解析,发送这个cookie是之前服务器设置的cookie,服务器就开始给浏览器发送HTTP响应,这样,一个完整的交互流程就走下来了。

    cookies=dic(c='xxxx')requests.get(url,cookies=cookies)r = requests.get(url)r.cookies['cookiename']

    3.Session机制原理640?wx_fmt=png       首先浏览器发送一个HTTP请求,服务器端完成认证之后,会对这个会话进行保存,也就是会存储Session,这个可能存在服务上,可能存在数据库或者redis上。服务器给出一个响应,带上cookies-session-id的信息。浏览器拿到响应之后,也会保存到本地,但是这个时候cookie很小,可能只有一个id。浏览器开始发送HTTP请求,带上cookie,服务器上解析sessionid,给出HTTP响应。

    4.Session和Cookie两者的区别

    1)、cookie数据存放在客户的浏览器上,session数据放在服务器上

    2)、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session

    3)、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用COOKIE

    4)、单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能大于3K。

    - To Be Continued -


    欢迎关注公众号:测试开发社区
    640?wx_fmt=jpeg
    微信扫描二维码,关注我的公众号
  • 相关阅读:
    Chrome浏览器M53更新后超链接的dispatchEvent(evt)方法无法触发文件下载
    用es5实现模板字符串
    JS求数组最大值常用方法
    js生成随机数
    常用MouseEvent鼠标事件对象&KeyboardEvent键盘事件对象&常用键盘码
    原生js重写each方法
    indexdb开cai发keng实zhi践lu
    substring和substr的区别和使用
    前端常见面试题总结part2
    前端常见面试题总结1
  • 原文地址:https://www.cnblogs.com/finer/p/12061265.html
Copyright © 2020-2023  润新知