当前位置: 首页 > news >正文

佛山建网站永网小说引流推广

佛山建网站永网,小说引流推广,临海做网站,网站的设计思想目录 一、HTTP无状态。 (1)"记住我"? (2)HTTP无状态。 (3)信息存储客户端中。如何处理? 1、loaclStorage与sessionStorage。 2、Cookie。 二、Cookie。 (1&…

目录

一、HTTP无状态。

(1)"记住我"?

(2)HTTP无状态。

(3)信息存储客户端中。如何处理?

1、loaclStorage与sessionStorage。

2、Cookie。

二、Cookie。

(1)Cookie是什么?

(2)Cookie的特征。

1、Cookie组成。

2、Cookie的主要特性。

(3)Cookie的API。

1、创建Cookie。

2、发送Cookie。

3、获取Cookie值。

(4)Cookie的覆盖。

1、案例演示。

2、Cookie路径(path)。

3、Cookie覆盖。

(5)Cookie的生命周期。

1、什么是Cookie的生命?

2、Cookie死亡。

3、Cookie最大存活时间。


一、HTTP无状态。

(1)"记住我"?
  • 通常,处于登录界面时,我们输入用户名与密码点击"提交"前,会有一个“记住我”功能!当用户名、密码验证成功,浏览器该如何存储对应的信息(用户名、密码等等)呢?

  • 是保存在服务器?还是保存在客户端中?

(2)HTTP无状态。
  • HTTP协议是无状态的,这意味着服务器不会保存任何关于客户端请求之间的信息
  • 每次HTTP请求都是独立的,服务器不会记住之前发生过的请求。
  • 也就是:每个请求都是独立的,服务器处理完请求后就会结束会话,不会保留任何会话信息
  • 为了解决无状态协议带来的问题,引入了CookiesSession等技术来维持用户会话。Cookies是客户端的存储机制,用于保存状态信息;而Session则是服务器端的存储机制,用于跟踪用户状态。

  • 如果将“用户信息”存在在服务器中。那么就需要"东西"让服务器分辨当前是哪个用户访问,再给对应的用户信息。
  • 这样服务器的压力就会很大!所以应该是每个用户的"登录个人信息"存储在用户所安装的客户端浏览器中,而不是存储在服务器
  • 这样当用户A登录时,从用户A的客户端浏览器拿到对应的信息。当用户B登录时,就从用户B客户端浏览器拿到对应的信息。这样就有效的区分了每个客户端的信息。

(3)信息存储客户端中。如何处理?
  • 基于客户端浏览器的访问。如何将数据保存在客户端浏览器中?
  • 登录校验的逻辑代码是在服务器端运行的。只要登录成功后,就会将(用户名、密码)存储在到客户端浏览器中。

  • 如下三个被红色框选中的(客户端浏览器中)都可以存储信息。


1、loaclStorage与sessionStorage。
  • 其中本地存储空间(loaclStorage)、会话存储(sessionStorage)空间:都是纯正的js技术。
  • 它们之间的区别:loaclStorage是所有用户都可以拿到信息。(数据在浏览器关闭后仍可保留)而sessionStorage是在一次会话中有效。(与服务器一次通信)

2、Cookie。
  • 既可以使用js操作,也可以使用Java进行操作!因为服务器端代码(/..xxServlet)也是Java语言写的,这就刚好可以使用这个"Cookie"。
  • 接下来就详细的介绍Cookie!

二、Cookie。

(1)Cookie是什么?
  • "Cookie"翻译成中文:小甜点,小饼干的意思。
  • 在HTTP中它表示服务器发送给客户端浏览器的小甜点

  • 其实Cookie就是一个键和一个值(key/value)构成的,随着服务器端的响应发送给客户端浏览器。
  • 注意:Cookie的存储的key/value都是String类型域对象中存储的value是object类型

  • 如下:Cookie是由服务器创建,然后通过响应发送给客户端的一个键值对。
  • 客户端会保存Cookie,并会标注出Cookie的来源(哪个服务器的Cookie)。
  • 当客户端向服务器发出请求时会把所有这个服务器Cookie包含在请求中发送给服务器,这样服务器就可以识别客户端了!


(2)Cookie的特征。
1、Cookie组成。
  • Cookie通常包含一个(名称)、一个,以及一些属性。(如有效期、路径、域和安全标志)


  • 可以看到键"user"——>值"lisi"、键"password"——>值"123456"。
  • 响应的服务器是本机:http://localhost:8080。
  • 路径:"/"。表示所有的请求都可以拿到该Cookie。


2、Cookie的主要特性。
  • Cookie的工作原理涉及到客户端(浏览器)和服务器之间的交互。
  • Cookie创建于服务器,保存于客户端浏览器上不同浏览器之间Cookie无法共享,无法跨浏览器
  • 客户端浏览器会把Cookie保存起来,当下一次再访问服务器时把Cookie再发送给服务器。
  • Cookie本身是一种有用的技术,用于在客户端存储状态信息,但它也存在一些安全风险。在实际案例中,还需要对Cookie进行加密或者不存储敏感信息。(否则明文显示)

(3)Cookie的API。
  • Cookie是一个类(class)。

1、创建Cookie。
  • 通常都是使用:new 构造方法
  • 构造方法只有一个:new Cookie(键名,键值)。


  • 案例演示。创建服务器:AServlet。创建两个Cookie(cookie1、cookie2)。并使用addCookie()方法发送到客户端对应的Cookie如果不发送,客户端无法得到Cookie
package com.fs.web;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** @Title: AServlet* @Author HeYouLong* @Package com.fs.web* @Date 2024/11/27 下午4:52* @description: 测试类*/
@WebServlet("/AServlet")
public class AServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//创建CookieCookie cookie1 = new Cookie("k1","v1000");Cookie cookie2 = new Cookie("k2","v2000");//发送Cookieresp.addCookie(cookie1);resp.addCookie(cookie2);}
}

  • 此时cookie1的k1与v1000、cookie2的k2与v2000都已经存储在客户端中。


2、发送Cookie。
  • 服务器中调用方法:addCookie(Cookie对象)
  • 验证:之后的请求,客户端浏览器会自动的携带Cookie通过请求头发送给服务器。
  • 创建BServlet,里面只重写了doGet()方法。直接再次请求访问BServlet。
package com.fs.web;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** @Title: BServlet* @Author HeYouLong* @Package com.fs.web* @Date 2024/11/27 下午8:18* @description: 测试*/
@WebServlet("/BServlet")
public class BServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {}
}
  • 显然是自动的将Cookie发送给服务器了。



3、获取Cookie值。
  • 方法1。通过request.getHeader("Cookie")。不推荐!


  • 方法2。request.getCookies()。这样可以拿到所有的Cookie。再通过循环遍历,拿取对应的键名的键值。先通过getName()拿到键名,再根据键名拿到值getValue()


package com.fs.web;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;/*** @Title: BServlet* @Author HeYouLong* @Package com.fs.web* @Date 2024/11/27 下午8:18* @description: 测试*/
@WebServlet("/BServlet")
public class BServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//获取指定CookieCookie[] cookies = req.getCookies();for (Cookie cookie : cookies) {String name = cookie.getName();if(name.equals("k1")){String value = cookie.getValue();System.out.println(name);System.out.println(value);break;}}/*String cookie = req.getHeader("Cookie");System.out.println(cookie);*/}
}

  • 成功拿到键名"k1"对应的键值"v1000"。


(4)Cookie的覆盖。
1、案例演示。
  • 先访问/AServlet。再访问/user/AServlet。看看对应的Cookie。
  • /AServlet。

  • /user/AServlet。


2、Cookie路径(path)。
  • 可以通过设置Cookie的path来指定浏览器,在访问什么样的路径时,包含什么样的Cookie
  • 如果Cookie的name(键名)与path(路径)一样,就会覆盖value(键值)
  • 如果没有设置path:默认值,创建Cookie的资源(服务器)的上级路径
  • 像访问资源(/user/BServlet)对应的path:"/user"。访问资源(/BServlet)对应的path:"/"。

  • 举例访问某个路径下的资源,能访问的对应Cookie。




  • 创建Cookie时,主动设置Cookie路径。方法:setPath()


3、Cookie覆盖。
  • 修改"/user/AServlet"。重新访问。


(5)Cookie的生命周期。
1、什么是Cookie的生命?
  • Cookie不只是有name(键名)和value(键值)。Cookie还有生命。

  • 所谓Cookie生命就是Cookie在客户端的有效时间。可以通过setMaxAge(int)来设置Cookie的最大有效时间。


2、Cookie死亡。
  • 像上面的BServlet,我把所有的客户端浏览器关闭(结束本次会话)。对应的Cookie(cookie1的k1与v1000、cookie2的k2与v2000)消失了。

  • 因为它们都是会话级别。会话结束,对应的Cookie自动失效。


  • k1、k2已消失。


3、Cookie最大存活时间。
  • 默认存活时间:会话级别。只有客户端的浏览器关闭,这个Cookie就会被删除!

  • 注意:如果是服务器关闭,只要客户端不关闭,Cookie不会被删除。


  • 调用setMaxAge(int 参数) 设置最大存活时间。参数的单位:秒。

  • 具体的实践大家自己尝试!

http://www.hkea.cn/news/522138/

相关文章:

  • 中国建设银行河南省分行网站推广信息哪个平台好
  • 网站建设官网免费模板杭州seo优化
  • 绍兴网站建设谷歌搜索引擎在线
  • 网站的会员认证怎么做黑龙江新闻头条最新消息
  • 做网站如何分工百度推广登录平台客服
  • 网站建设如何提案万网域名注册信息查询
  • 创意二维码制作网站企业网络营销推广案例
  • 论坛型网站怎么做百度高级检索入口
  • 做百度移动网站排搜素引擎优化
  • 公司创建一个网站需要多少钱想做百度推广找谁
  • 做文献ppt模板下载网站有哪些常德政府网站
  • 青岛网站建设公司排行外链工具在线
  • 网站怎么做显得简洁美观seo数据是什么意思
  • 阿里巴巴开通诚信通后网站怎么做网络优化网站
  • 东莞手机网站价格便宜个人免费建站软件
  • 电子商务网站建设的步骤一般为百度100%秒收录
  • 做企业网站怎么样免费的推广软件下载
  • 拓普网站建设美国搜索引擎
  • 网站开发者工资冯耀宗seo视频教程
  • 软件开发各阶段工作量比例搜索引擎优化的基础是什么
  • 网站怎么做才能将名声打响云搜索app
  • 南阳做网站优化哪家好一级域名生成二级域名
  • 3322动态域名官网郑州seo联系搜点网络效果好
  • 网络营销渠道的类型河北seo基础教程
  • 做微信网站多少钱seo内部优化包括哪些内容
  • 中国城乡建设网站网络优化公司排名
  • 个人网站做淘宝客教程torrentkitty磁力搜索引擎
  • 广州北京网站建设seo培训讲师招聘
  • 手机上免费自己做网站网络营销案例分享
  • 长沙大型网站建设谷歌账号