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

wordpress sqllite关键词优化的五个步骤

wordpress sqllite,关键词优化的五个步骤,设计一个网站的步骤,国内个人网站HTTP协议自身是属于“无状态”协议 无状态是指:默认情况下,HTTP协议的客户端和服务器之间的这次通信,和下次通信之间没有直接的关系 但在实际开发中,我们很多时候是需要知道请求之间的关联关系的 上述图中的令牌,通常就…

        HTTP协议自身是属于“无状态”协议

        无状态是指:默认情况下,HTTP协议的客户端和服务器之间的这次通信,和下次通信之间没有直接的关系

        但在实际开发中,我们很多时候是需要知道请求之间的关联关系的

        上述图中的令牌,通常就存储在Cookie字段中,此时在服务器这边就要记录“令牌”信息,以及令牌对应的用户信息,这就是Session机制所做的工作

一、理解Session和Cookie

        先来了解一下什么是会话

        会话是一个客户与服务器之间不中断的请求响应,对客户的每个请求,服务器能够识别出请求来自于同一个客户,当一个未知的客户向Web应用程序发送第一个请求时就开始了一个会话;当客户结束会话或服务器在一定时限内没有接收到客户的任何请求时,会话就结束了 

        在服务器并发处理海量请求时(如电商大促秒杀场景),​Session(会话对象)是服务端创建的特殊数据结构​,用于识别每个请求所属的用户身份和存储并维护会话与用户数据的映射关系(如购物车数据、登录状态)。

        Session的本质就是一个"哈希表",存储了一些键值对结构,Key就是SessionID,Value就是用户信息(用户信息可以根据需求灵活设计) 

        SessionId 在服务器这边是唯一的,前面提到的“令牌”就可以看作为 SessionId,只不过它还会携带一些其他的信息,比如时间,签名等

        (1)用户登录的时候,服务器会在Session中新增一个记录,通过HTTP响应中的Set-Cookie字段返回给客户端

        (2)客户端后续再次给该服务器发送请求时,会在HTTP请求中的Cookie字段中携带SessionId

        (3)服务器收到请求之后,根据SessionIdSession中查找并获取对应的用户信息,再进行后续操作,若找不到就会重新新增一个记录,返回SessionId(回到起初阶段) 

        Cookie ​​默认存储在用户的浏览器中,Session 由​​服务器管理​​(内存/数据库)

CookieSession区别

        Cookie是客户端保存用户信息的一种机制;Session是服务器保存用户信息的一种机制

        CookieSession之间主要是通过SessionId关联起来的

二、Cookie

2.1、定义

  • 客户端(浏览器)存储的小型文本数据(键值对形式),用于记录用户状态或标识

2.2、获取Cookie

@RestController
@RequestMapping("/Session")
public class GetSessionController {@RequestMapping("/A1")public String A1(HttpServletRequest request, HttpServletResponse response){Cookie[] cookies=request.getCookies();StringBuilder stringBuilder=new StringBuilder();if(cookies!=null){for(Cookie ck:cookies){stringBuilder.append(ck.getName()+"="+ck.getValue());}}return stringBuilder.toString();}
}

        HttpServletRequestHttpServletResponseServlet提供的两个类,是Spring MVC方法的内置对象

        HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中所有的信息都封转在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息

        HttpServletResponse对象代表服务器的响应,HTTP响应的信息都在这个对象中,通过该对象的方法,可以获得服务器响应的所有内容

         访问后得到了设置的Cookie

2.3、使用注解获取Cookie 

 @RequestMapping("/A2")public String A2(@CookieValue("name") String name){return  "name为:"+name;}

三、Session

3.1、定义​

  • 服务器创建的会话状态存储结构,本质是 ​​内存/数据库中的键值表​

3.2、存储Session

         Session是服务器端的机制,我们需要先存储,才能获取,Session是基于HttpServletRequest来存储和获取的

  @RequestMapping("/A3")public String A3(HttpServletRequest request){HttpSession session=request.getSession();if (session!=null){session.setAttribute("userName","Aokey");}return "Session设置成功";}

        运行后可以看到,HTTP响应后通过Set-Cookie告知客户端,把SessionID 存储在Cookies中

3.3、获取Session

        (1)HttpSession.getSession(boolean create);参数如果为true,那么当不存在会话时新建会话;如果为false,不存在会话时返回null

        (2)HttpSession.getSession();参数默认为true

  @RequestMapping("/A4")public String A4(HttpServletRequest request){HttpSession session=request.getSession(false);if(session==null){return "用户未登录";}else {String useName=(String) session.getAttribute("userName");Integer age=(Integer) session.getAttribute("age");return "姓名:"+ useName+" 年龄:"+age;}}

        先后访问:http://127.0.0.1:8080/Session/A3 和  http://127.0.0.1:8080/Session/A4

        Fiddler抓包后发现: 

 3.4、通过注解获取Session

 @RequestMapping("/A5")public String A5(@SessionAttribute("userName" ) String userName,@SessionAttribute("age") Integer age){return "姓名:"+ userName +" 年龄:"+age;}

        通过Spring MVC内置对象HttpSession来获取

 @RequestMapping("/A6")public String A6(HttpSession session){String userName=(String) session.getAttribute("userName");Integer age=(Integer) session.getAttribute("age");return "姓名:"+ userName +" 年龄:"+age;}

四、Header

4.1、获取Header

        获取Header也是通过HttpServletRequest对象获取

  @RequestMapping("/A7")public String A7(HttpServletRequest request){String string=request.getHeader("Cookie");return "获取到Cookie为:"+string;}

        运行结果:http://127.0.0.1:8080/Session/A7

         4.2、使用注解获取Header

 @RequestMapping("/A8")public String A8(@RequestHeader("Cookie")  String string){return "获取到Cookie为:"+string;}
http://www.dtcms.com/wzjs/435750.html

相关文章:

  • 广告机自建站模板青岛关键词排名系统
  • 类似58同城网站建设多少钱产品营销方案策划书
  • 做网站都需要什么人团2024年新闻摘抄十条
  • 羊 东莞网站开发简述什么是seo及seo的作用
  • 本地服务类网站成本百度广告推广电话
  • 网站建设方案论文全球中文网站排名
  • wordpress文章部分显示电商关键词排名优化怎么做?
  • 五个网站全球搜索引擎
  • 腾讯服务器做网站企业营销策划
  • 宿州住房和城乡建设局网站泰州seo
  • 网站制作类型小程序开发一个多少钱啊
  • 哪家公司做企业网站html网页制作app
  • 长沙移动网站建设哪家好网络推广的基本渠道
  • 网站链接锚文字怎么做南城网站优化公司
  • 济南旅游团购网站建设百度推广登录平台登录
  • 天河商城网站建设广州网站排名优化报价
  • 公众号推广代理苏州seo关键词优化软件
  • 永兴县网站建设哪家好镇江网页设计
  • 深圳建站网站产品软文案例
  • wordpress bizhongbio合肥seo网站管理
  • 设计网站建成都网站优化
  • 郑州建设信息嘉兴百度快照优化排名
  • 素材网大全seo sem是什么职位
  • 衡水企业网站制作公司网络营销公司简介
  • 网站关键字被改了重庆营销型网站建设公司
  • 邢台网站建设免费做网站排名浏览器谷歌手机版下载
  • 微网站免费制作高效统筹疫情防控和经济社会发展
  • 网站建设php教程石家庄seo网络推广
  • 淮安网站网站建设推广软件app
  • 无锡网站建设推广公司做app软件大概多少钱