1、HTTP是无状态协议 什么是无状态?就是说这一次的请求和上一次的请求是没有任何关系的,无法共享信息。好处就是速度快。 2、cookie、session的加入 HTTP请求是无状态的,所以解决共享信息的问题必须采用其他的手段,于是就有了sessionid,sessionid是基于cookie实现的 ...
分类:
其他好文 时间:
2020-06-22 23:19:27
阅读次数:
50
一,传统Cookie+Session与JWT对比 1, 在传统的用户登录认证中,因为http是无状态的,所以都是采用session方式。用户登录成功,服务端会保证一个session,当然会给客户端一个sessionId,客户端会把sessionId保存在cookie中,每次请求都会携带这个sessi ...
分类:
编程语言 时间:
2020-06-22 19:24:19
阅读次数:
65
TCP协议的三次握手过程:TCP在建立连接的时候,需要经历三次握手的过程第一次握手是由客户端向服务器端发起的,这是用来去发一个建立的请求,那么这个报文中SYN位被标记为:1,所以我们把它常叫做一个SYN包第二次握手是由服务器向客户端发起的,是来确认服务器的一个请求连接的,这个报文中我们的ACK位还有SYN位都被标记为:1,所以我们也把它叫做一个SYN-ACK报文第三次握手同样是客户端发给服务器的,
分类:
其他好文 时间:
2020-06-22 10:55:17
阅读次数:
95
##目录 多线程需要解决的问题 线程之间的通信 线程之间的同步 Java内存模型 内存间的交互操作 指令屏障 happens-before规则 指令重排序 从源程序到字节指令的重排序 as-if-serial语义 程序顺序规则 顺序一致性模型 顺序一致性模型特性 顺序一致性模型特性 当程序未正确同步 ...
分类:
编程语言 时间:
2020-06-22 01:23:32
阅读次数:
56
Spring @Enable 模块概览 框架实现 @Enable注解模块 激活模块 Spring Framework @EnableWebMvc Web MVC 模块 @EnableTransactionManagement 事务管理模块 @EnableCaching Caching 模块 @Ena ...
分类:
编程语言 时间:
2020-06-21 11:57:46
阅读次数:
69
使用线程池的原因 多线程是为了用来最大化发挥多核处理器的处理能力,但是线程是不能无限创建的,当线程创建太多时,反而会消耗CPU与内存资源。 线程的创建与销毁是需要时间的,假如一个线程的创建时间加上销毁时间还要远大于服务时间时,是得不偿失的;线程需要占用内存资源,大量线程的创建会占用宝贵内存资源,可以 ...
分类:
编程语言 时间:
2020-06-21 00:00:26
阅读次数:
97
1.需求背景是什么?2.存储何种数据?3.数据特点是什么?4.存在哪些技术挑战?5.解决方案有哪些?6.md5散列桶的方法需要注意的问题?7.测试结果是什么?解决方案:1 需求背景该应用场景为DMP缓存存储需求,DMP需要管理非常多的第三方id数据,其中包括各媒体cookie与自身cookie(以下 ...
分类:
其他好文 时间:
2020-06-20 22:32:36
阅读次数:
158
在执行python脚本的多进程程序时,会随机性的触发程序执行完,无法主动退出的情况。尤其是当进程数足够大时,处理的数据量足够多时。出现退出异常的概率越大。下面的脚本用于解决退出异常问题。 import argparse import requests import getpass from mult ...
分类:
编程语言 时间:
2020-06-20 21:28:54
阅读次数:
128
Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息。识别返回用户包括三个步骤:服务器脚本向浏览器发送一组 Cookie。例如:姓名、年龄或识别号码等。浏览器将这些信息存储在本地计算机上,以备将来使用。当下一次浏览器向 Web 服务器发送任何请求时,浏览器会把这些 Cookie 信息... ...
分类:
其他好文 时间:
2020-06-20 21:03:59
阅读次数:
56
cookie 本来用于客户端和服务端通信, 但是因为它有本地存储的功能,于是被“借用”了。 使用方法 document.cookie 获取和修改即可 缺点 存储量太少,只有4kb 所有http请求都带着,会影响获取资源的效率。 API简单,需要封装才能使用。 localStorage和session ...
分类:
Web程序 时间:
2020-06-20 15:43:50
阅读次数:
59