摘要: 数字签名在数据的交互中一直都占据着很重要的地位,因此,这篇文章对其原理进行整理总结一下。最后再给出代码的实现。 一、简单认识 相信我们都写过信,在写信的时候落款处总是要留下自己的名字,用来表示写信的人是谁。我们签的这个字就是生活中的签名: 而数字签名呢?其实也是同样的道理,他的含义是:在网络中传输数 阅读全文
posted @ 2020-06-07 14:43 ppjj 阅读(1407) 评论(0) 推荐(0) 编辑
摘要: 路径详解: 格式:location ??? { } 路径优先级 (与代码所在前后顺序无关,只与规则有关)1. = /error.html2. ^~ /images/3. ~* \.(gif|jpg|jpeg|png|bmp|swf)$4. /static/5. / 解释:1.表示完整匹配,用=和完全 阅读全文
posted @ 2020-06-07 14:23 ppjj 阅读(1550) 评论(0) 推荐(0) 编辑
摘要: 负载均衡可以在网络第四层(传输层)用lvs(基于一个物理IP地址增加多个虚拟IP地址,轮询)开源,或者NGINX第七层(应用层,基于网络流量控制),或者硬件F5支持第四到第七层路由,硬件负载均衡对应的是集群级别的,软件负载均衡对应的是机器级别的。 HTTP 重定向负载均衡 这种负载均衡方式仅适合WE 阅读全文
posted @ 2020-06-07 14:22 ppjj 阅读(289) 评论(0) 推荐(0) 编辑
摘要: Introduction 使用Cache-Control禁用对机密信息的缓存通过Strict-Transport-Security强制使用 HTTPS,并将你的域添加到Chrome预加载列表利用X-XSS-Protection使你的web应用更加能抵抗XSS攻击,再使用Spring提供的HtmlUt 阅读全文
posted @ 2020-06-07 14:04 ppjj 阅读(2110) 评论(0) 推荐(0) 编辑
摘要: Tomcat错误页面支持http响应吗和Java中异常类两种形式。使用Tomcat,一定见到过404,500的时候,见到过Tomcat提供的错误页面,例如请求的资源找不到的时候,响应状态码为404,这个时候的错误页面是这样的: 这些错误页面是 如何生成及定位展示的 ,如果我们要 自定义一些错误页面  阅读全文
posted @ 2020-06-07 14:00 ppjj 阅读(1700) 评论(0) 推荐(1) 编辑
摘要: 每一个系统都有一些通用的模块,比如日志模块、异常处理模块、工具类等,对于Tomcat来说,比较重要的通用模块有日志、Session管理和集群管理。 日志模块作为一个通用的功能,在系统里通常会使用第三方的日志框架。Java的日志框架有很多,比如:JUL(Java Util Logging)、Log4j 阅读全文
posted @ 2020-06-07 13:53 ppjj 阅读(821) 评论(0) 推荐(0) 编辑
摘要: 对NIO的理解 个人单方面认为,NIO与BIO的最大区别在于主动和被动,使用BIO的方式需要等待被调用方返回数据,很明显此时调用者是被动的。 举个例子 阻塞IO 假设你是一个胆小又害羞的男孩子,你约了隔壁测试的妹子,但你并不敢主动约会,所以你把自己的手机号码给她,并暗示她想要约会的时候打电话给你。很 阅读全文
posted @ 2020-06-07 13:51 ppjj 阅读(334) 评论(0) 推荐(0) 编辑
摘要: vue中.class /deep/ .buttonClass{}表示强制生效你自定义的css样式 阅读全文
posted @ 2020-06-07 13:48 ppjj 阅读(2257) 评论(0) 推荐(0) 编辑
摘要: 虽然通过kube-proxy可以帮助实现集群内外的pod相互通信,对这些pod做负载均衡(用户态userspace轮询算法,性能低也不安全)和网络的流量代理,但是随着service的增多,nodeIP越来越多,并且kube-proxy生成的规则链也会越来越多,即使是iptables路由(内核态随机算 阅读全文
posted @ 2020-06-07 13:42 ppjj 阅读(836) 评论(0) 推荐(0) 编辑
摘要: 我们都知道,在发同域请求时,浏览器会将cookie自动加在request header中。但大家是否遇到过这样的场景:在发送跨域请求时,cookie并没有自动加在request header中。造成这个问题的原因是:在CORS标准中做了规定,默认情况下,浏览器在发送跨域请求时,不能发送任何认证信息( 阅读全文
posted @ 2020-06-07 13:31 ppjj 阅读(1649) 评论(0) 推荐(1) 编辑
摘要: entrypoint设置容器的入口程序,就是容器启动时执行的程序,docker run中最后的命令将作为参数传给入口程序,它有两种格式exec和shell,它们之间区别在于指定的命令是否在shell中运行,其中shell底层使用/bin/sh -c COMMAND运行,就是说主进程shell进程,后 阅读全文
posted @ 2020-06-07 13:28 ppjj 阅读(1288) 评论(0) 推荐(0) 编辑
摘要: spring boot国际化使ReloadableResourceBundleMessageSource设置basenames并返回messagesource @Configuration public class I18nConfig { @Bean(name = "messageSource") 阅读全文
posted @ 2020-06-07 13:25 ppjj 阅读(2624) 评论(0) 推荐(0) 编辑
摘要: redo log的大小是固定的,在mysql中可以通过修改配置参数innodb_log_files_in_group和innodb_log_file_size配置日志文件数量和每个日志文件大小,redo log采用循环写的方式记录,当写到结尾时,会回到开头循环写日志。redo log通常是物理日志, 阅读全文
posted @ 2020-06-07 13:18 ppjj 阅读(2511) 评论(0) 推荐(0) 编辑
摘要: ServletContext用来存放全局变量,每个Java虚拟机中的每个web项目只有一个ServletContext,这个ServletContext是由web服务器创建,保证唯一性。由于一个web应用中所有servlet共享一个ServletContext对象,因此servlet对象之间可以通过 阅读全文
posted @ 2020-06-07 13:07 ppjj 阅读(259) 评论(0) 推荐(0) 编辑
摘要: http1.0不支持长连接,http1.1支持长连接,如果需要关闭长连接,设置connection=close,表示客户端或服务器端在发送完请求或服务端一次性把响应报文发送完给客户端后关闭连接。transfer-encoding=trunked是否分段传输响应报文,优先content-length。 阅读全文
posted @ 2020-06-07 13:04 ppjj 阅读(1124) 评论(0) 推荐(0) 编辑
摘要: /* * 设置指定键对值的系统属性 * setProperty (String prop, String value); * * 參数: * prop - 系统属性的名称。 * value - 系统属性的值。 * * 返回: * 系统属性曾经的值,假设没有曾经的值,则返回 null。 * * 抛出: 阅读全文
posted @ 2020-06-07 12:55 ppjj 阅读(1326) 评论(0) 推荐(0) 编辑
摘要: 前言上篇文章中讲到了 Connector 的初始化与启动,其中最关键的就是 ProtocolHandler 的初始化与启动。tomcat 中 ProtocolHandler 的默认实现类是 Http11NioProtocol。tomcat9.0.16 中 ProtocolHandler 的实现类中还 阅读全文
posted @ 2020-06-07 12:50 ppjj 阅读(1708) 评论(0) 推荐(0) 编辑
摘要: 明确:http默认端口 80https默认端口 443将redirectPort=”8443”改为redirectPort=”443” service.xml <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" URI 阅读全文
posted @ 2020-06-07 12:00 ppjj 阅读(4547) 评论(0) 推荐(0) 编辑
摘要: 前言 终于进行到Connector的分析阶段了,这也是Tomcat里面最复杂的一块功能了。Connector中文名为连接器,既然是连接器,它肯定会连接某些东西,连接些什么呢?connector组件的processor对象处理的request和response,connector有三种request和 阅读全文
posted @ 2020-06-07 11:58 ppjj 阅读(932) 评论(1) 推荐(0) 编辑
摘要: 由于Request和Response是用流的方式传递数据,所以只能读取一次。tomcat中已有SavedRequest类,没有SavedResponse类,我们创建两个容器类来装载Request/Response->写一个过滤器Filter拦截请求将Info装载入容器中。 RequestWrappe 阅读全文
posted @ 2020-06-07 11:50 ppjj 阅读(1378) 评论(0) 推荐(0) 编辑