静态网页和动态网页
静态网页,我们写好一个后缀为html的文件,并通过Nginx服务器,则该主机就可以为服务器,其他人可以通过访问服务器来看到那个实例页面,这样的网页写起来非常简单,但不能根据URL来灵活多变的展示内容。
动态网页:动态解析并且关联数据库,功能更为丰富。
无状态HTTP
HTTP的无状态是指HTTP协议是对事务处理能力是没有记忆能力的,经常会发送一些重复的请求。为了保持前后的状态连接,我们不能将客户端传送的请求全部传送一次这样太浪费资源。这样对于登录来说也更为棘手,
Session
Session的中文称之为会话,而在WEB中Session对象用来储存Session所需的配置信息,当用户在应用程序的页面之间跳转时,存储在Session对象中的变量并不会消失,当用户来请求页面时,如果他没有Session,则会为它创建一个Session对象,当Session对象过期或者被放弃之后,服务器将会终止该Session。
Cookie
在客户端第一次请求时,服务器将会返回一个响应头中带有Set-Cookie字段的响应给客户端,用这个字段来标记用户,客户端会把Cookie保存起来,当下一次请求相同的网站时,把保存的Cookie放到请求头中一起提交给服务器,Cookie中携带着SessionID相关信息,服务器通过检查Cooike即可找到对应的Session,继而通过判断Session辨认用户状态,如果Session当前是有效的,就证明用户是登录状态,此事需要登录之后才能看到的内容就可以直接看到了。Cookie在客户端,而Session在服务端。
属性结构:通常含有几个属性。Name:Cookie的名称,Value:Cookie的值。Domian:指定可以访问该Cookie的域名。Path:Cookie的使用路径。Max-age:Cookie的使用时间。Size:Cookie的大小。
会话Cookie和持久Cookie
表面意思来看Cookie就是把Cookie放到浏览器内存里,关闭浏览器之后Cookie即会失效,持久Cookie则会把Cookie保存到用户的硬盘之中,用于长久保护用户的登录状态。
注意
关闭浏览器时Session并不会消失。因为Session是保存在服务器之中的。只有程序通知删除Session时才会删除。但有时候我们关闭浏览器时,浏览器并不会知道。关闭之后Cookie消失,重新打开不能找到对应的SessionID。