-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathweb.txt
executable file
·23 lines (20 loc) · 2.79 KB
/
web.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1.cookie是用来存储一些客户端与服务器之间的交互信息,每次请求时都会将cookie的信息发送至服务器,服务器也可以在返回时通知浏览器添加或修改cookie。
针对域名存放的,每个域名都会存放一些对应的cookie。
使用方式不赘述,如果在设定cookie时,未指定过期时间,那么就属于会话性质,存储在内存中。如果在设定cookie时指定了过期时间,那么就属于持久化,存储在计算机硬盘上。
按存放的方式分为两种:
第一种为会话性质,存储在浏览器内存中,当浏览器关闭时(注意: 不是关闭tab页),cookie也就被清除了。(浏览器所占内存被释放)
第二种为持久化,存储在计算机硬盘上。无论浏览器关闭与否,只要时间尚未过期,就是有效的。
2.在客户端第一次访问服务器时,服务器会为该客户端自动生成一个session对象,用来标识客户端的身份,其中session对象又通过id标识。session对象创建之后,通知客户端创建一个cookie,值为该id,键名一般叫做sessionid。
然后客户端在后续访问服务器时都会带上该cookie,服务器通过该id来识别身份,判断是哪个客户端,将属于该客户端的一系列请求关联起来。
客户端的不断请求,都可能需要在服务器中添加上一些该客户端的信息。这些信息就是存储在服务器为客户端创建的
因为session是存储在服务器内存中的,所以需要在客户端不请求时将对应的session消除,不然所占内存会一直增加下去。
所以有了生命周期一说,生命周期依据于服务器的设定,通常为20分钟。
当然,这里说的是依赖于cookie的session实现方式。
也可以指定不依赖cookie的方式,比方说sessionid作为url的一部分(放在url的某一个位置中,服务器端再进行解析,比方说域名后面)传递至服务器,
或者作为http get请求(也是在url上下功夫,尾部加上参数?session=ididid)的参数传递。
也可以自定义session的存储位置,比方说存储在数据库中,存储在其他进程中等等。
3.cookie和session是浏览器和服务器常见的存储交互信息方式。
asp.net里面还有Application以及ViewState。
Application存储在服务器内存中,不区别用户,在服务器代码中都可以访问其中的数据。也没有时间限制,除非我们在代码中手动删除或者服务器重启。
ViewSate是以隐藏域的方式存储在页面中,在请求用formdata的方式post到服务器端,服务器端对于viewstate的修改就是修改该隐藏域的值,返回经过修改之后的html文本文件。
4.asp.net页面的生命周期:请求,开始,初始化,加载,验证,回发事件处理,呈现。