关于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的值作出后续操作    

学习的过程中总会得到一些心得体会,认真地将它们记录下来并分享给每一个愿意花费时间去阅读它们的人,然后意外地收获某个读者的评论,从而激发出新的感想,是一件十分令人欢快的事。如果你也在研习这方面的知识,欢迎加入到我们的队伍中来,和我们一起进步吧(^_^)
原文地址:https://www.cnblogs.com/lxrm/p/6755894.html