Fork me on GitHub
上一页 1 2 3 4 5 6 7 8 9 10 ··· 49 下一页
摘要: 简介 ASN.1是一种跨平台的数据序列化的接口描述语言。可能很多人没有听说过ASN.1, 但是相信有过跨平台编程经验的同学可能都听过protocol buffers和Apache Thrift,虽然ASN.1和上面两个语言相比不是那么出名,但是ASN.1的出现要比他们早的多,早在1984年ASN.1 阅读全文
posted @ 2022-07-28 16:34 flydean 阅读(710) 评论(1) 推荐(0) 编辑
摘要: 简介 之前我们讲到了如何在netty中构建client向DNS服务器进行域名解析请求。使用的是最常见的TCP协议,也叫做Do53/TCP。 事实上除了TCP协议之外,DNS服务器还接收UDP协议。这个协议叫做DNS-over-UDP/53,简称("Do53")。 本文将会一步一步带领大家在netty 阅读全文
posted @ 2022-07-25 14:16 flydean 阅读(569) 评论(0) 推荐(1) 编辑
摘要: 简介 一般情况下我们使用的证书都是由第三方权威机构来颁发的,如果我们有一个新的https网站,我们需要申请一个世界范围内都获得认可的证书,这样我们的网站才能被无障碍的访问。 如果在某些情况下,我们的网站或者系统并不是公开的,但是也需要使用tls协议的话,那么就需要自己搭建一个CA服务器。这样的CA服 阅读全文
posted @ 2022-07-21 14:12 flydean 阅读(694) 评论(1) 推荐(3) 编辑
摘要: 简介 DNS的全称domain name system,既然是一个系统就有客户端和服务器之分。一般情况来说我们并不需要感知这个DNS客户端的存在,因为我们在浏览器访问某个域名的时候,浏览器作为客户端已经实现了这个工作。 但是有时候我们没有使用浏览器,比如在netty环境中,如何构建一个DNS请求呢? 阅读全文
posted @ 2022-07-18 18:51 flydean 阅读(810) 评论(0) 推荐(1) 编辑
摘要: 简介 在前面的章节中,我们讲解了kqueue的使用和原理,接下来我们再看一下epoll的使用。两者都是更加高级的IO方式,都需要借助native的方法实现,不同的是Kqueue用在mac系统中,而epoll用在liunx系统中。 epoll的详细使用 epoll的使用也很简单,我们还是以常用的聊天室 阅读全文
posted @ 2022-07-14 16:38 flydean 阅读(962) 评论(0) 推荐(1) 编辑
摘要: 简介 OCSP在线证书状态协议是为了替换CRL而提出来的。对于现代web服务器来说一般都是支持OCSP的,OCSP也是现代web服务器的标配。 但是OCSP stapling却不是所有的web服务器都支持。但是现实工作中我们可能需要知道具体某个网站对OCSP的支持程度。 支持OCSP staplin 阅读全文
posted @ 2022-07-11 13:57 flydean 阅读(722) 评论(0) 推荐(1) 编辑
摘要: 简介 我们在进行网页访问的时候会跟各种各样的证书打交道,比如在访问https网页的时候,需要检测https网站的证书有效性。 OCSP就是一种校验协议,用于获取X.509数字证书的撤销状态。它是为了替换CRL而出现的。 本文将会详细介绍OCSP的实现和优点。 PKI中的CRL 我们知道在PKI架构中 阅读全文
posted @ 2022-07-06 19:14 flydean 阅读(2459) 评论(2) 推荐(1) 编辑
摘要: 简介 在前面的章节中,我们介绍了在netty中可以使用kequeue或者epoll来实现更为高效的native传输方式。那么kequeue和epoll和NIO传输协议有什么不同呢? 本章将会以kequeue为例进行深入探讨。 在上面我们介绍的native的例子中,关于kqueue的类有这样几个,分别 阅读全文
posted @ 2022-07-04 15:24 flydean 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 简介 对于IO来说,除了传统的block IO,使用最多的就是NIO了,通常我们在netty程序中最常用到的就是NIO,比如NioEventLoopGroup,NioServerSocketChannel等。 我们也知道在IO中有比NIO更快的IO方式,比如kqueue和epoll,但是这两种方式需 阅读全文
posted @ 2022-06-29 20:16 flydean 阅读(496) 评论(0) 推荐(2) 编辑
摘要: 简介 之前我们介绍了一个非常优秀的细粒度控制JAVA线程的库:java thread affinity。使用这个库你可以将线程绑定到特定的CPU或者CPU核上,通过减少线程在CPU之间的切换,从而提升线程执行的效率。 虽然netty已经够优秀了,但是谁不想更加优秀一点呢?于是一个想法产生了,那就是能 阅读全文
posted @ 2022-06-27 21:13 flydean 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 简介 在PKI(public key infrastructure)公钥设施基础体系中,所有的一切操作都是围绕着证书和密钥的,它提供了创建、管理、分发、使用、存储和撤销数字证书以及管理公钥加密所需的一组角色、策略、硬件、软件和程序。 有了密钥,就可以根据密钥制作证书了。要想证书可以被广泛的使用,一个 阅读全文
posted @ 2022-06-22 19:00 flydean 阅读(970) 评论(1) 推荐(2) 编辑
摘要: 简介 定时器是一种在实际的应用中非常常见和有效的一种工具,其原理就是把要执行的任务按照执行时间的顺序进行排序,然后在特定的时间进行执行。JAVA提供了java.util.Timer和java.util.concurrent.ScheduledThreadPoolExecutor等多种Timer工具, 阅读全文
posted @ 2022-06-20 18:33 flydean 阅读(1603) 评论(1) 推荐(0) 编辑
摘要: 简介 SpringBoot提供了HATEOAS的便捷使用方式,前面一篇文章我们也讲了如何在SpringBoot中使用HATEOAS。本文将会对这些内容进行扩展深入,详细讲解SpringBoot提供的这些基本方法。 链接Links HATEOAS的一个非常重要的特征就是在resources资源中包含超 阅读全文
posted @ 2022-06-17 17:37 flydean 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 简介 HATEOAS是实现REST规范的一种原则,通过遵循HATEOAS规范,可以解决我们实际代码实现的各种个问题。作为java最流行的框架Spring 当然也会不缺席HATEOAS的集成。 本文将会通过一个具体的例子来讲解如何在SpringBoot中使用HATEOAS。 我们的目标 HATEOAS 阅读全文
posted @ 2022-06-15 15:54 flydean 阅读(674) 评论(1) 推荐(2) 编辑
摘要: 简介 前面讲到了memcached的文本协议,虽然文本协议看起来非常简单,但是对于客户端来说一般还是会选择效率更高的二进制协议。 二进制协议的本质和文本协议是一样的,只是他们的表现方式不同而已。本文将会详细介绍memcached中二进制协议的实现细节。 memcached的协议包 对于memcach 阅读全文
posted @ 2022-06-13 21:03 flydean 阅读(452) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 49 下一页