• Cookies与web缓存


    Cookie

    cookie是为了使web站点能更好的的与用户交互而出现的一种技术。通常一个站点都希望能标识用户。HTTP中的cookie正好能够满足要求,他能跟踪用户。cookie有4个组成部件

    • 在HTTP请求报文中有个cookie首部行
    • 在HTTP响应报文中有个cookie首部行
    • cookie是保存在用户客户端的一个文件,并由用户的浏览器进行管理。
    • cookie信息被保存在web站点的数据库中。

    cookie是这样跟踪用户的,当用户在第一次访问某个站点的时候,该站点会创建一个唯一的ID,并在数据库中创建一个对应于该ID的表项。这个ID就是用来表示用户信息的。然后在cookie中就会产生这个ID。当用户下一次访问高站点的时候,HTTP请求报文就会包含cookie中的ID,从而网站就会跟踪到你。网站就能使用cookie。这个技术被广泛应用于网络购物车,智能推荐广告信息,或者是智能推荐你喜欢的类别。

    但是,cookie会提供给网站一些用户信息,有的时候,你并不希望网站知道你的用户信息。例如:网站可能通过cookie来获取你的电子邮件地址,这就可能泄露你的隐私。并且一些恶意的网站甚至可能将你的个人信息买个第三方机构。

    因此,cookie技术是一个备受争议的技术,但是在互联网野蛮发展的今天,绝大多数网站都采用了cookie技术。

    web缓存技术

    web缓存也叫作代理服务器。它是一种在不向原始服务器发送请求的情形下满足HTTP请求的技术。

    可以配置用户浏览器来使得web访问经过缓存,当对象在web缓存中的时候,请求被满足;否则将会请求原始服务器,然后缓存到代理服务器,接着满足请求。代理服务器对于客户端而言是服务器,对于原始服务器而言是客户端。web缓存技术可以减少链路层的数据流量(这是最重要的一点)。因此,web缓存能够大大降低带宽要求,从而降低费用。适合于公司和学校来安装使用。

    web缓存技术适用于不经常更改的资源,对于频繁更改的资源,web缓存是不适用的。当然还有一点就是web缓存中的内容可能是陈旧的,这个时候就需要条件GET请求了,在请求报文中包含If-modified-since信息即可。这样代理服务器就能更新它上面的信息(通过访问原始服务器的方式)。

  • 相关阅读:
    从一个故障说说Java的三个BlockingQueue
    kafka producer源码
    Mock方法介绍
    async4j 普通用法、整合spring用法
    Spring中属性文件properties的读取与使用
    异步框架asyn4j的原理
    如何从线程返回信息——轮询、回调、Callable
    jdk 1.8 Executors
    java Iterator Fail-fast机制
    java的几种对象(PO,VO,DAO,BO,POJO)解释
  • 原文地址:https://www.cnblogs.com/zy666/p/10504257.html
Copyright © 2020-2023  润新知