zoukankan      html  css  js  c++  java
  • 什么是Cookie?——每日一题20190623

    什么是Cookie?

    Cookie实际上是一小段的文本信息,客户端请求服务器,如果服务器需要记录该用户状态,就使用 response 向客户端浏览器颁发一个Cookie。客户端会把Cookie存起来,当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器,服务器检查该Cookie,以此来辨认用户状态,服务器也可根据需求修改Cookie的内容;

    Cookie的优缺点

    优点:

            1.极高的扩展性和可用性

                    可以控制保存在cookie中的session对象的大小;

                    通过加密和安全传输技术(SSL),减少Cookie被破解的可能性;

                    只在Cookie中存放不敏感数据,被盗不会有重大损失;

                    控制Cookie的生命期,使之不会永远有效,偷盗者可能会拿到一个过期的Cookie;

                    基于文本轻量结构;

                    Cookie存储在客户端并在发送后由服务器读取;

    缺点:

    1.Cookie 数量和长度的限制

                    每个domain最多只能有20条cookie,每个cookie的长度不能超过4KB,否则被截掉;

    2.安全性

                    Cookie可能被拦截、篡改。如果Cookie被人拦截了,那人就可以取得所有的session信息

    3.有些状态不可能保存在客户端

                    例:防止重复提交表单,在服务端保存计数器,如果将此计数器保存在客户端,无用。

    延伸:

                    Cookie 和 session 的区别

                                    1.             cookie数据 ==》 客户的浏览器

                                                    session数据 ==》 服务器

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

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

                                    4.单个Cookie数据不能超过4K,很多浏览器都限制一个站点最多保存20个Cookie

     

    建议:

                    登录信息等重要信息存放session

                    其他信息如果要保留,可以放在Cookie

  • 相关阅读:
    f2fs源码解析(五) node管理结构梳理
    没有什么好神秘的: wait_on_page_bit
    write_back 浅浅分析
    f2fs解析(六)
    转载软件需求文档标准格式
    转载 如何设计一个优秀的数据库
    转载 MySQL创建表的语句 示例
    equals和==的区别 (Java基础)
    转载 【Linux】Linux中常用操作命令
    windows 注册表
  • 原文地址:https://www.cnblogs.com/miluluyo/p/11109034.html
Copyright © 2011-2022 走看看