什么是Cookie
来源:互联网 发布:阿里云imap设置 编辑:程序博客网 时间:2024/05/22 17:29
什么是Cookie
浏览器的开发者在很早的时候就已经意识到, HTTPs 的无状态会对Web开发者带来很大的问题,于是(cookies)应运而生。 cookies 是浏览器为 Web 服务器存储的一小段信息。每次浏览器从某个服务器请求页面时,它向服务器回送之前收到的cookies。更具体的说,Cookie是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。它可以包含有关用户的信息。无论何时用户链接到服务器,Web站点都可以访问 Cookie信息 。目前有些 Cookie是临时的,有些则是持续的。临时的 Cookie只在浏览器上保存一段规定的时间,一旦超过规定的时间,该 Cookie就会被系统清除。持续的 Cookie则保存在用户的 Cookie文件中,下一次用户返回时,仍然可以对它进行调用。在 Cookie文件中保存 Cookie,有些用户担心 Cookie中的用户信息被一些别有用心的人窃取,而造成一定的损害。其实,网站以外的用户无法跨过网站来获得 Cookie信息。如果因为这种担心而屏蔽 Cookie,肯定会因此拒绝访问许多站点页面。因为,当今有许多 Web站点开发人员使用 Cookie技术,例如 Session对象的使用就离不开 Cookie的支持。
在Django中处理持久化,大部分时候你会更愿意用高层些的session。但在此之前,我们需要停下来在底层看看如何读写cookies。
读取已经设置好的cookies极其简单。每一个`` HttpRequest`` 对象都有一个`` COOKIES`` 对象,该对象的行为类似一个字典你,可以使用它读取任何浏览器发送给视图(view)的cookies。
def show_color(request):
if "favorite_color" in request.COOKIES:
return HttpResponse("Your favourite color is %s" % \
request.COOKIES["favorite_color"])
else:
return HttpResponse("You don't have a favorite color.")
写cookies稍微复杂点。你需要使用 HttpResponse对象的 set_cookie()方法。这儿有个基于 GET 参数来设置 favorite_color
cookie的例子:
def set_color(request):
if "favourite_color" in request.GET:
response = HttpResonse("Your favourite color is now %s" % \
request.GET["favourite_color"]
)
response.set_cookie("favourtie_color",request.GET["favourite_color"])
return response
else:
return HttpResponse("You don't have a favorite color.”)
cookie的存储是自愿的,一个客户端不一定要去接受或存储cookie。事实上,所有的浏览器都让用户自己控制是否接受cookies。如果你想知道cookies对于Web应用有多重要,你可以试着打开这个浏览器的选项:尽管cookies广为使用,但仍被认为是不可靠的的。这意味着,开发者使用cookies之前必须检查用户是否可以接收cookie。
Cookie(特别是那些没通过HTTPS传输的)是非常不安全的。 因为HTTP数据是以明文发送的,所以 特别容易受到嗅探攻击。 也就是说,嗅探攻击者可以在网络中拦截并读取cookies,因此你要绝对避免在cookies中存储敏感信息。这就意味着您不应该使用cookie来在存储任何敏感信息。
(部分内容总结自djangobook)
- 什么是cookie
- 什么是cookie
- 什么是Cookie
- 什么是cookie
- 什么是Cookie?
- 什么是cookie
- 什么是cookie
- 什么是Cookie?
- 什么是cookie
- 什么是Cookie?
- 什么是Cookie
- 什么是Cookie
- 什么是cookie?
- 什么是cookie 认识cookie对象 什么是cookie
- 什么是cookie欺骗
- 转:什么是cookie
- 什么是栈cookie保护?
- 什么是cookie-曲奇
- redis(单机读取数据性能测试)
- halcon学习笔记(12)——相机实践标定及二维码
- Java 后台管理开发框架!CURD 一键生成,再也不要重复搬砖了!
- 闹心的CMakeList!!
- linux 下安装git
- 什么是Cookie
- Intent的另一种启动方式
- Android之IPC机制
- markdown编写笔记
- ListView 的 stackFromBottom 选项
- sdut acm 字符统计2
- Session的使用
- 反编译apk总结
- java自动生成service文件