关于Cookie

关于Cookie

  • 概述:

    • cookie是浏览器提供的一种技术

    • cookie使得一些只需保存在客户端,或者只需客户端进行处理的数据被保存在客户端计算机中,不用经过网络传输,因而提高了网页响应速度,降低了服务器端的负载

    • 但是由于信息被保存在客户端,所以使用了cookie技术的web 网站的安全性相对较差

    • cookie中可以包含许多信息,但是至少有一个JSEESIONID,这个JSESSIONID是客户端连接到服务器时,服务器为客户端自动分配的,使用JSESSIONID可以唯一的标识每一个客户端。
    • 除了服务器端为客户端自动分配的JSESSIONID之外,程序员还可以通过response.addCookie(Cookie cookie)向客户端添加其他的Cookie对象
    • 客户端每次向服务器端发送请求时,都会将自己机器上保存的cookie信息发送到服务器,所以服务器也可以获取客户端的cookie信息状态
        • 服务器端如何获取客户端已经设置的cookie信息:JSP中可以通过web container提供的request对象来获取,request.getCookies() 
    • 虽然Cookie可以保存一些信息,但是不能无限制的保存,一般一个客户端最多只能保存300多个Cookie。   
  • cookie的应用场景:

  • 编程思路:(如何使用cookie技术)

    • step1,了解一些基础知识

        • 1)java EE中提供了一个专门用于操作cookie的类:javax.servlet.http.Cookie

            • 了解上述Cookie类中的常用成员方法、构造函数

        • 2)在JSP的scriptlet中可以使用Cookie类,也可以使用九大内置对象中的request和response来操作Cookie
            • 了解JSP 9大内置对象中response对象的成员方法response.addCookie(Cookie cookie)的用法:使用这个函数可以由服务器向客户端添加Cookie对象(实质上也就是一个key-value对儿)

            • 了解JSP 9大内置对象request对象的成员方法request.getCookies()的用法
    • step2,创建Cookie对象

    • step3,使用response..addCookie(Cookie cookie)将step2中新建的cookie对象添加到客户端浏览器  

    • step4,step2-step3通过response对象设置到客户端的cookie可以被客户端机器获取并作后续处理,这些cookie信息被保存在客户端机器中(生存时间由相应设置来决定),不用服务器端重复传送,客户端机器可以随时取用,

    • step5,由于客户端每次向服务器端发送请求时,都会将本地机器中保存的cookie信息放在header头信息中一起发送到服务器端,所以服务器端也可以获得保存在客户端机器中的cookie对象的值,并根据客户端机器中的Cookie的值作出后续操作    

posted on 2017-04-24 11:16  LXRM-JavaWeb、ML  阅读(136)  评论(0编辑  收藏  举报

导航