cookie

Servlet 三大域对象

主宰稳场 提交于 2020-02-14 09:17:18
Servlet 三大域对象 ServletContext HttpServletRequest HttpSession 1、ServletContext 每个项目只有一个 服务器开始时候创建一个,服务器关闭时,销毁 2、HttpSession 一次会话 打开浏览器时候创建 浏览器关闭时销毁 3、HttpServletRequest 一次请求 发送请求时创建 响应后销毁 请求转发: 之前向页面输出的数据暂存缓存,遇到转发清空,如果强制向页面输出,会报无法转发错误。一次请求一次响应 请求重定向 response.sendRedirect(location) Request域对象,范围一次请求结束request销毁 setAttribute getAttribute HttpSession 域对象 cookie 浏览器技术将数据保存在客户端 上次请求的响应里,下次请求的请求里 Cookie cookie =new Cookie(String name,String value); 添加到响应头 response.addCookie(cookie); 获取 request.getCookies(); 返回cookie数组 设置Cookie存在时间 cookie.setMaxAge(60*60) 一小时60秒 问题:cookie不能储存中文问题 URLEncoder.encode

8.RabbitMQ实现集群高可用

爱⌒轻易说出口 提交于 2020-02-14 08:30:30
RabbitMQ实现集群高可用 前言 为什么搭建rabbitmq集群? rabbitmq集群有那些模式? 如何搭建Rabbitmq集群? rabbitmq镜像高可用策略有那些? RabbitMQ这款产品本身的优点众多,大家最看好的便是他的异步化提高系统抗峰值能力,然后便是系统及功能结构解耦,既然它如此重要,那么我们就需要考虑它的高可用性。 rabbitmq有3种模式 : 单一模式:即单机情况不做集群,就单独运行一个rabbitmq而已,生产上肯定不能用。 普通模式:普通集群就是在多台机器上启动多个实例。每个队列只会存在其中的一个实例上,然后所有实例同步这些队列的元数据。消费者在进行消费的时候,如果连接的实例上恰好不是队列所在的实例,就会根据队列的元数据去队列所在实例上拉取数据 由此可知,集群模式并没做到分布式,如果队列所在的实例宕机了,会导致接下来其他实例就无法从那个实例拉取消息,所以集群主要是提高吞吐量的 镜像模式:把需要的队列做成镜像队列,存在与多个节点属于** RabbitMQ的HA方案 。**该模式解决了普通模式中的问题,其实质和普通模式不同之处在于,消息实体会主动在镜像节点间同步,而不是在客户端取数据时临时拉取。该模式带来的副作用也很明显,除了降低系统性能外,如果镜像队列数量过多,加之大量的消息进入,集群内部的网络带宽将会被这种同步通讯大大消耗掉

shiro cookie登录根据角色跳转不同页面的解决方案

百般思念 提交于 2020-02-14 08:00:01
先拿到cookie,再根据jsessionid来获取username,再进行角色判断即可。 @RequestMapping("/common/checkCookie") public void getUserInfo(HttpServletRequest request, HttpServletResponse response){ String sessionID = null; Cookie[] cookies = request.getCookies(); if (cookies == null){ System.out.println("cookie null"); }else { for (Cookie cookie : cookies) { System.out.println(cookie.getName() + " " + cookie.getValue()); if ("JSESSIONID".equals(cookie.getName())){ sessionID = cookie.getValue(); } } SessionKey key = new WebSessionKey(sessionID,request,response); try{ Session se = SecurityUtils.getSecurityManager()

爬虫基础知识(叁)

好久不见. 提交于 2020-02-13 20:41:23
一、cookie和session:     1、cookie和session的定义:       cookie是网站用来辨别用户身份,进行会话跟踪,存储在本地终端上的数据。       session起始含义是指有始有终的一系列动作和消息。在web中,session主要用来在服务器存储特定用户对象会话所需要的信息。     2、cookie和session产生的原因:       http协议是一个无状态协议,在特定操作的时候,需要保存信息,进而产生了cookie和session。     3、cookie原理:       由服务器来产生,浏览器第一次请求时,服务器发送给客户端进而保存在本地。       浏览器继续访问时,就会在请求头的cookie字段上附带cookie信息,这样服务器就可以识别是谁在访问了。       但是cookie也存在着缺陷:         1)、不安全---本地保存,容易被篡改。         2)、大小受限,本身最大大小为4KB。       所以cookie虽然在一定程度上解决了‘保持状态’的需求,但还是希望可以克服cookie的缺陷,而session就是为了克服其缺陷产生的。     4、session原理:       session在服务器保存。(解决了cookie的安全问题)       cookie中存在着一个字段

python成功爬取拉勾网——初识反爬(一个小白真实的爬取路程,内容有点小多)

淺唱寂寞╮ 提交于 2020-02-13 19:04:48
python成功爬取拉勾网(一个小白的心里路程) 最开始想爬取拉钩是因为半年前上python实验课的时候,老师给了两个任务,一个时爬取糗百的笑话内容,另一个时爬取拉勾网的职位信息,当时因为课时紧张的缘故,老师讲解了关于爬虫的相关的库(requests,BeautifulSoup库等)的基本使用方法,发下了爬取糗百网的源码,让我们自己试一试,说是拉勾网不好爬取,目前的水平不够。疫情在家这几天我基本可以容易的爬取静态网页相关的内容,便想的试试爬取拉钩。 先观察网页源码: 很容易从源码看出所有相关的信息都放在li标签的属当中,具体的工资值放在span标签当中 我用直接用原来爬取静态网页的方法直接爬取: import bs4 import requests import re from bs4 import BeautifulSoup url = 'https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput=' try : hd = { 'user-agent' : 'chorme/10' } r = requests . get ( url , headers = hd ) r . raise_for_status ( ) r . encoding = r . apparent_encoding

F5 基本原理介绍(转)

╄→尐↘猪︶ㄣ 提交于 2020-02-13 13:26:14
原文链接:http://kuaibao.qq.com/s/20180308G1NPIS00?refer=cp_1026 文章来源:企鹅号 - 民生运维 1. 负载均衡的基本单位 目前负载均衡设备的基本处理单位是TCP连接,也就是说当一个TCP连接建立后,在该连接中的所有客户端请求和服务器响应信息都通过这一个TCP连接进行。 只有客户端发起新的连接的时候,才会根据负载均衡算法重新计算,才可能分发到其他服务器上。 2. 基本工作模式 F5支持全代理模式,同时也可以工作在四层转发模式。 全代理模式就是VS配置成standard类型,此模式下客户端和F5建立一个连接,客户端将请求发送给F5,F5再和服务器建立连接,并将请求发送给服务器,服务器返回信息后,F5再将返的回信息送给客户端。在此模式下F5可以查看请求和响应的所有信息,可以根据所有信息进行分发和处理。 四层转发模式就是VS配置成Performance L4类型,此模式下F5只做四层转发,也就是F5只处理四层以下的信息,即端口和IP信息,具体业务数据不做任何处理。客户端发送给F5的数据包,F5只根据需要将IP和端口处理之后就直接发送给服务器,响应信息也类似处理。在此模式下,F5只能查看四层一下信息,不处理业务信息,好处是处理过程简单、速度快。缺点是无法对四层以上的协议数据进行精确处理。 3. 负载均衡算法

预定义数组

核能气质少年 提交于 2020-02-13 02:21:47
预定义数组 从PHP 4.1.0开始,PHP提供了一套附加的预定义数组,这些数组变量包含了来自web服务器、客户端、运行环境和用户输入的数据,这些数组非常特别,通常被称为自动全局变量或者“超”全局变量。就是一种特殊的数组,操作方式没有区别;不同去声明他们,在每个PHP脚本中默认存在,因为在PHP中用户不用自定义他们,所以在自定义变量时应避免和预定的全局变量同名;他们在全局范围内自动生效,即在函数中直接就可以使用,且不用使用global关键字访问他们。 预定义数组 说明 $_SERVER 变量由web服务器设定或者直接与当前脚本的执行环境相关联 $_ENV 执行环境提交至脚本的变量 $_GET 经由URL请求提交至脚本的变量 $_POST 经由http post方法提交至脚本的变量 $_REQUEST 经由get、post和cookie机制提交至脚本的变量,因此该数组并不值得信任 $_FILES 经由http、post文件上传而提交至脚本的变量 $_COOKIE 经由http cookies方法提交至脚本的变量 $_SESSION 当前注册给脚本会话的变量 $GLOBALS 包含一个引用指向每个当前脚本的全局变量范围内有效的变量。该数组的键名为全局变量的名称 1、服务器变量:$_SERVER $_SERVER是一个包含诸如头信息、路径和脚本位置的数组。数组的实体由web服务器创建

PHP9个预定义超级全局数组

不想你离开。 提交于 2020-02-13 02:12:17
自动全局变量————-超全局数组 1、包含了来自web服务器,客户端,运行环境和用户输入的数据相关的一些数组 2、这些数组比较特别 3、全局范围内自动生效,都可以直接使用这些数组 4、用户不能自定义这些数组,但这些数组的操作方式又和我们自己操作的方式一样 $_GET //经由Url请求提交至脚本的变量 $_GET超级全局变量包含使用GET方法传递的参数的有关信息。如果请求URL为 http://www.example.com /index.html?cat=apache&id=157 , 就可以使用$_GET超级全局变量访问如下变量: $_GET[ 'cat' ] = "apache" ; $_GET[ 'id' ] = "157" ; 默认情况下,要访问通GET方法传递的变量,$_GET超级全局变量是唯一的途径。不能用$cat、$id等方式来引用GET变量。 $_POST //经由http post 请求提交至脚本的变量 $_POST超级全局变量包含用POST方法传递的参数的有关信息。考虑如下用于请求用户信息的表单: < form caction="subscribe.php" method = "post"> <p> Email address : <br> <input type="text" name="email" size="20" maxlength="so"

超全局数组变量

隐身守侯 提交于 2020-02-13 01:04:44
$_GET[] 获得以GET方法提交的变量数组 $_POST[] 获得以POST方法提交的变量数组 $_COOKIE[] 获取和设置当前网站的Cookie标识 $_SESSION[] 取得当前用户访问的唯一标识,以数组形式体现,如sessionid以及自定义session数据 $_ENV[] 当前php环境变量数组 $_SERVER[] 当前php服务器变量数组 $_FILES[] 上传文件时提交到当前脚本的参数值,以数组形式体现(http协议提交的) $_REQUEST[] 包含当前脚本提交的全部请求,$_GET、$_POST、$_COOKIE、$_SESSION的所有动作 $GLOBALS[] 包含正在执行脚本所有超级全局变量的引用内容 来源: https://www.cnblogs.com/h-g-f-s123/p/5676872.html

cookies,sessionStorage,localStorage的区别

我怕爱的太早我们不能终老 提交于 2020-02-13 00:07:50
sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web请求之间保存数据。有了本地数据,就可以避免数据在浏览器和服务器间不必要地来回传递。 sessionStorage、localStorage、cookie都是在浏览器端存储的数据,其中sessionStorage的概念很特别,引入了一个“浏览器窗口”的概念。sessionStorage是在同源的同窗口(或tab)中,始终存在的数据。也就是说只要这个浏览器窗口没有关闭,即使刷新页面或进入同源另一页面,数据仍然存在。关闭窗口后,sessionStorage即被销毁。同时“独立”打开的不同窗口,即使是同一页面,sessionStorage对象也是不同的。 Web Storage带来的好处: 1、减少网络流量:一旦数据保存在本地后,就可以避免再向服务器请求数据,因此减少不必要的数据请求,减少数据在浏览器和服务器间不必要地来回传递。 2、快速显示数据:性能好,从本地读数据比通过网络从服务器获得数据快得多,本地数据可以即时获得。再加上网页本身也可以有缓存,因此整个页面和数据都在本地的话,可以立即显示。 3、临时存储:很多时候数据只需要在用户浏览一组页面期间使用,关闭窗口后数据就可以丢弃了,这种情况使用sessionStorage非常方便。