zoukankan      html  css  js  c++  java
  • fiddler——http——cookie

    部分转载:https://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.html

    部分转载:https://www.cnblogs.com/TankXiao/archive/2013/04/15/2848906.html

    cookie中键名的含义(常见):
    
    
    name:cookie的名称
    
    value:cookie对应的值,动态生成的
    
    domain:服务器域名
    
    expiry:Cookie有效终止日期
    
    path:Path属性定义了Web服务器上哪些路径下的页面可获取服务器设置的Cookie
    
    httpOnly:防脚本攻击,将一个cookie设置为httponly后,通过JavaScript脚本无法读取到cookie信息,这能有效防止黑客用xss发起攻击。
                 
              一般来说和登录相关的cookie必须设置为httponly。
    
    secure:在Cookie中标记该变量,表明只有当浏览器和Web Server之间的通信协议为加密认证协议时

    Cookie 概述

    Cookie是什么? Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息。

                                Cookie是一种httpheader,以“key=value”的形式组成,两个cookie之间用分号 ; 隔开。

    为什么需要Cookie? 因为HTTP协议是无状态的,对于一个浏览器发出的多次请求,WEB服务器无法区分 是不是来源于同一个浏览器。

                                      所以,需要额外的数据用于维护会话。 Cookie 正是这样的一段随HTTP请求一起被传递的额外数据。

    Cookie能做什么? Cookie只是一段文本,所以它只能保存字符串。而且浏览器对它有大小限制以及 它会随着每次请求被发送到服务器,所以应该保证它不要太大。

                                   Cookie的内容也是明文保存的,有些浏览器提供界面修改,所以, 不适合保存重要的或者涉及隐私的内容。

    Cookie 的限制。 大多数浏览器支持最大为 4096 字节的 Cookie。由于这限制了 Cookie 的大小,最好用 Cookie 来存储少量数据,或者存储用户 ID 之类的标识符。

                                用户 ID 随后便可用于标识用户,以及从数据库或其他数据源中读取用户信息。 浏览器还限制站点可以在用户计算机上存储的 Cookie 的数量。

                                大多数浏览器只允许每个站点存储 20 个 Cookie;如果试图存储更多 Cookie,则最旧的 Cookie 便会被丢弃。

                               有些浏览器还会对它们将接受的来自所有站点的 Cookie 总数作出绝对限制,通常为 300 个。

    通过前面的内容,我们了解到Cookie是用于维持服务端会话状态的,通常由服务端写入,在后续请求中,供服务端读取。

    Cookie机制

    服务器在内存中保存会话对象。浏览器可以使用Cookie机制保存绘画id。

    Cookie机制是一种会话机制。cookie是浏览器用来存储少量数据的一种机制,数据以“key=value”形式存储,浏览器发送http请求时,自动附带cookie信息。

    Cookie的分类

    可以大致把Cookie分为2类: 会话cookie和持久cookie

    (1)、会话cookie: 是一种临时的cookie,它记录了用户访问站点时的设置和偏好,关闭浏览器,会话cookie就被删除了。

    (2)、持久cookie: 存储在硬盘上,(不管浏览器退出,或者电脑重启,持久cookie都存在), 持久cookie有过期时间。

    Cookie存在哪里

    Cookie是存在硬盘上,  IE存cookie的地方和Firefox存cookie的地方不一样。  不同的操作系统也可能存cookie的地方不一样。

    不同的浏览器会在各自的独立空间存放Cookie, 互不干涉。

    注意: 缓存文件和cookie文件,是存在一起的, 都在这个目录下。

    Cookie和文件缓存的区别

    很多人会把cookie和文件缓存弄混淆, 这两个完全是不一样的东西。唯一的相同之处可能是它们俩都存在硬盘上,而且是存在同一个文件夹下。

    Fiddler查看HTTP中的Cookie

    浏览器把cookie通过HTTP Request 中的“Cookie: header”发送给Web服务器

    Web服务器通过HTTP Response中的"Set-Cookie: header"把cookie发送给浏览器

    使用Fiddler可以清楚地看到cookie在HTTP中传递。 Fiddler工具中可以清晰的看到Http Request 中的Cookie, 和Http Response中的cookie  

    实例: 启动Fiddler,  启动浏览器访问一些购物网站,就可以看到。

     

  • 相关阅读:
    bbs小项目整理(八)(总结、源码分享)
    struts2验证框架
    Struts2文件上传例子
    struts2的参数的封装形式
    struts2的获取Servlet API的几种方式的学习笔记
    struts2的相关配置信息
    java向mysql插入时间,时间日期格式化
    关于将项目导入eclipse出现小红叉的解决笔记
    bbs小项目整理(七)(消息分页展现)
    HTML引用CSS
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/12116582.html
Copyright © 2011-2022 走看看