-
Notifications
You must be signed in to change notification settings - Fork 37
/
178-java-5.html
187 lines (148 loc) · 7 KB
/
178-java-5.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>葡萄藤PPT</title>
<link rel="stylesheet" href="./css/reveal/reveal.css">
<!-- PPT主题,可以在/css/reveal/theme/中选择其他主题,目前暂时只能使用该模板 -->
<link rel="stylesheet" href="./css/reveal/theme/ptt.css">
<!-- syntax highlighting 代码高亮主题 -->
<link rel="stylesheet" href="./lib/reveal/css/zenburn.css">
<!-- 打印和PDF输出样式 -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? './css/reveal/print/pdf.css' : '../css/reveal/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<img src="./img/demo/logo.png" alt="" usemap="#pttmap" class="base-logo">
<map name="pttmap">
<area shape="rect" coords="0,0,276,58" href="http://www.jnshu.com" alt="" target="_blank"/>
</map>
<div class="reveal">
<div class="slides">
<section>
<h3>cookie与session</h3>
<p>小课堂</p>
<h3></h3>
<p>分享人:杜腾飞</p>
</section>
<section>
<p>1.背景介绍</p>
<p>2.知识剖析</p>
<p>3.常见问题</p>
<p>4.解决方案</p>
<p>5.编码实战</p>
<p>6.扩展思考</p>
<p>7.参考文献</p>
<p>8.更多讨论</p>
</section>
<section>
<h3>1.背景介绍</h3>
</section>
<section>
<p>先介绍下背景</p>
<p> web应用程序开发流程,客户端服务端的交互是来传输数据,使用的就是HTTP协议,但是Http协议是无状态的,也就是说无法对用户的状态进行保存管理;简单说就是,当浏览器发送请求给服务器的时候,服务器响应客户端请求,但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道它就是刚才的那个浏览器;服务器无法记忆,所以称作无状态协议。</p>
<p>那么问题来了,正是由于HTTP无状态的协议,一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话;但是要跟踪该会话,必须引入一种机制……</p>
</section>
<section>
<h3>2.知识剖析</h3>
</section>
<section>
<p>cookie&session</p>
</section>
<section>
<p>Cookie以及session就是这样的一种状态机制。它可以弥补HTTP协议无状态的不足。在Session出现之前,基本上所有的网站都采用Cookie来跟踪会话,session也是一样的,都是一种会话跟踪技术,用来跟踪用户的整个会话;只不过Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。</p>
</section>
<section>
<p>具体来说;都是一种浏览器和服务器交互数据的方式;也是一种会话跟踪技术,也算是一种缓存机制,只不过cookie由服务器端创建,但是不会保存在服务器;创建好之后,发送给浏览器。浏览器保存在用户本地;下一次访问网站的时候,就会把该Cookie发送给服务器。</p>
</section>
<section>
<p>而session实际理解就是,从用户打开浏览器访问一个网站开始,无论在这个网站中访问了多少页面,点击了多少链接,都属于同一个会话。直到该用户关闭浏览器为止,都属于同一个会话.而会话是在服务器里的,也可以抽象理解为服务器里的一个个小盒子,通过以cookie为载体的sessionid来匹配</p>
</section>
</section>
<section>
<h3>3.常见问题</h3>
</section>
<section>
<p>怎么跟踪会话?</p>
</section>
<section>
<p>怎么匹配信息?</p>
</section>
<section>
<h3>4.解决方案</h3>
</section>
<section>
<p>小demo</p>
</section>
<section>
<h3>5.编码实战</h3>
</section>
<section>
<p>实际应用</p>
</section>
<section>
<h3>6.扩展思考</h3>
</section>
<section>
<p>如果没有cookie这个载体,session怎么运行?</p>
</section>
<section>
<h3>7.参考文献</h3>
<p>http://blog.csdn.net/u011518120/article/details/52151090
https://www.cnblogs.com/fnng/archive/2012/08/14/2637279.html
http://blog.csdn.net/Jmilk/article/details/55686267?locationNum=9&fps=1
http://how2j.cn?p=13495</p>
</section>
<section>
<h3>8.更多讨论</h3>
</section>
<section>
<p>???</p>
</section>
<section>
<h4>Thanks</h4>
<p></p>
<p><small>By : dtf</small></p>
</section>
</div>
</div>
<script src="./lib/reveal/js/head.min.js"></script>
<script src="./lib/reveal/reveal.js"></script>
<script>
// 以下为常见配置属性的默认值
// {
// controls: true, // 是否在右下角展示控制条
// progress: true, // 是否显示演示的进度条
// slideNumber: false, // 是否显示当前幻灯片的页数编号,也可以使用代码slideNumber: 'c / t' ,表示当前页/总页数。
// history: false, // 是否将每个幻灯片改变加入到浏览器的历史记录中去
// keyboard: true, // 是否启用键盘快捷键来导航
// overview: true, // 是否启用幻灯片的概览模式,可使用"Esc"或"o"键来切换概览模式
// center: true, // 是否将幻灯片垂直居中
// touch: true, // 是否在触屏设备上启用触摸滑动切换
// loop: false, // 是否循环演示
// rtl: false, // 是否将演示的方向变成RTL,即从右往左
// fragments: true, // 全局开启和关闭碎片。
// autoSlide: 0, // 两个幻灯片之间自动切换的时间间隔(毫秒),当设置成 0 的时候则禁止自动切换,该值可以被幻灯片上的 ` data-autoslide` 属性覆盖
// transition: 'default', // 切换过渡效果,有none/fade/slide/convex/concave/zoom
// transitionSpeed: 'default', // 过渡速度,default/fast/slow
// mouseWheel: true, //是否启用通过鼠标滚轮来切换幻灯片
// }
// 初始化幻灯片
Reveal.initialize({
history: true,
dependencies: [
{ src: './plugin/markdown/marked.js' },
{ src: './plugin/markdown/markdown.js' },
{ src: './plugin/notes/notes.js', async: true },
{ src: './plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>