Web前端开发H5 Web Storage

学什么专业可从事前端开发
erp系统前端用什么语言开发
web前端开发作用是什么意思

一、首先了解下cookie、session
由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理。如果不希望Cookie在HTTP等非安全协议中传输,可以设置Cookie的secure属性为true。
Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。

查看某个网站颁发的Cookie很简单。在浏览器地址栏输入 javascript:alert (document. cookie)。JavaScript脚本会弹出一个对话框显示本网站颁发的所有Cookie的内容。
简单归纳一下我们必须了解的Cookie属性:Cookie具有不可跨域名性;Cookie在客户端是由浏览器来管理的。
除了使用Cookie,web应用程序中还经常使用Session来记录客户端状态。Session是服务器端使用的一种记录客户端状态的机制,使用上比Cookie简单些,相应的也增加了服务器的存储压力。
Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。如果说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查服务器上的“客户明细表”来确认客户身份。Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表。
Session在用户第一次访问服务器的时候自动创建。当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否已包含了一个session标识(称为session id),如果已包含则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来使用(检索不到,会新建一个),如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个与此session相关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应中返回给客户端保存。保存这个session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发送给服务器。一般这个cookie的名字都是类似于SEEESIONID。但cookie可以被人为的禁止,则必须有其他机制以便在cookie被禁止时仍然能够把session id传递回服务器。经常被使用的一种技术叫做URL重写,就是把session id直接附加在URL路径的后面。还有一种技术叫做表单隐藏字段。就是服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把session id传递回服务器。

二、web storage和cookie的区别
web Storage的概念和cookie相似,区别是它是为了更大容量存储设计的。Cookie的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外cookie还需要指定作用域,不可以跨域调用。
除此之外,web Storage拥有setItem,getItem,removeItem,clear等方法,不像cookie需要前端开发者自己封装setCookie,getCookie。
Cookie的作用是与服务器进行交互,作为HTTP规范的一部分而存在 ,而Web Storage仅仅是为了在本地“存储”数据而生。

三、localStorage和sessionStorage
html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage。sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
localStorage和sessionStorage都具有相同的操作方法,例如setItem、getItem和removeItem等:
localStorage和sessionStorage操作

//setItem存储value
sessionStorage.setItem(“key”, “value”);
localStorage.setItem(“site”, “zhoou”);
//getItem获取value
    var value = sessionStorage.getItem(“key”);
    var site = localStorage.getItem(“site”);
//removeItem删除key
    sessionStorage.removeItem(“key”);
    localStorage.removeItem(“site”);
//clear清除所有的key/value
    sessionStorage.clear();
    localStorage.clear();

四、示例
localStorage示例

<script type=”text/javascript”>
    //对页面访问次数统计的HTML5代码
    if (localStorage.pagecount) {
        localStorage.pagecount = Number(localStorage.pagecount) + 1
    } else {
        localStorage.pagecount = 1
    }
    document.write(‘Visits ‘ + localStorage.pagecount + ‘ time(s).’)
</script>
前端开发一般用什么软件
c语言的开发前端是什么
web前端开发要做什么
» 本文来自:前端开发者 » 《Web前端开发H5 Web Storage》
» 本文链接地址:https://www.rokub.com/7401.html
» 您也可以订阅本站:https://www.rokub.com
赞(0)
64K

评论 抢沙发

评论前必须登录!