
通信
不知为MUJI
站在树上的鸟从不害怕树枝断裂,因为它相信的不是树,而是翅膀。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【python】半佛老师的表情包是怎么爬的?
背景听半佛老师说他的表情包是爬的,有点好奇是怎么爬的?由此有了这篇文章。我调研了几个表情包的网站,最后以斗图网为例https://www.doutula.com/photo/list/爬取网站上的表情图片。为了简单,用python +Scrapy去做。环境Python3 +Scrapy(1.6.0)+ urllib +BeautifulSoup如果没有Scrapy包,pip3 install Scrapy即可。参考:https://docs.scrapy.org/en/lat..原创 2020-07-12 18:00:52 · 3265 阅读 · 0 评论 -
【TCP】从开撩到分手:3次握手与4次挥手
1.三次握手3次握手:客户端SYN,服务端ACK-SYN,客户端ACK客户端状态:CLOSED->SYN-SENT->ESTABLISHED服务端状态:LISTEN->SYN-RCVD->ESTABLISHED2.四次挥手断开连接,可以由客户端发起,也可以由服务断发起,当服务端主动断开连接时,一般客户端继续发送报文会收到Connectionrese...原创 2020-04-17 15:31:04 · 258 阅读 · 0 评论 -
【HTTP】状态码表速查
类型 状态码 描述 1xx消息 100 Continue 101 Switching Protocols 102 Processing 2xx成功 200 OK 成功 201 Created 202 Accepted 203 Non Authoritative information 204 N...原创 2020-04-08 18:36:52 · 530 阅读 · 0 评论 -
【通信】Java NIO模型
1.可伸缩的网络服务经典BIO网络服务端代码设计 thread-per-request,每个处理都可以在独立线程中执行。存在着很多问题,为了更好的可伸缩对其进行优化。1.1 可伸缩的目标负载增加时(更多客户端连接)的优雅退化 性能随着资源(CPU、内存、磁盘、带宽)不断提高 同时满足可用性和性能目标:低时延、满足高峰需求、服务质量可调控1.2 解决方案分而治之,总体服...原创 2020-03-19 10:54:39 · 301 阅读 · 0 评论 -
【HTTPS】TLS/SSL握手失败的场景分析
0.背景知识TLS/SSL握手的过程参考SSL握手过程图解1.常见报错1.1 SSLHandshakeException handshake_failure1.1.1 TLS/SSL协议版本不匹配自从TLS 1.2版本在2008年发布以来,服务器处于安全性考虑通常也只支持较高版本TLS,比如TLS1.2及以上,如果这些客户端用低版本TLS/SSL向服务器发起握手,会因为服务器...原创 2020-03-12 11:49:36 · 4398 阅读 · 0 评论 -
【bugfix】https握手失败 javax.net.ssl.SSLException: Received fatal alert: internal_error
目录1.背景2.分析过程2.1抓包2.2 控制变量3.原因4.解决方案1.背景对接外部服务使用https协议,通过浏览器和curl 7.54.0、OpenSSL 1.1.1d 10 Sep 2019都能通,但是开发机上通过commons-httpclient 3.1包通过注册ssl协议进行socket通信时,报SSLException: Received fata...原创 2020-03-12 10:47:39 · 8767 阅读 · 0 评论 -
【HTTP】HTTP header头
目录Http请求响应那些年用错HTTP header的异象1.Content-length2.Content-Type3.Accept-Encoding&Content-Encoding4.ConnectionHTTP header概览本文主要关注报文首部字段(header field ),HTTP首部字段是由首部字段名和字段值构成的,中间用冒号“...原创 2020-02-11 11:16:18 · 885 阅读 · 0 评论 -
【通信】NIO实现+源码解析
目录1.简介2.最简demo使用2.1 网络线程模型图2.2 demo代码3 源码分析3.1 Selector选择器3.1.1 open()创建实例3.1.2 select()遍历fd选择就绪3.2 Channel3.2.1 read读取到bufferwrite写入3.3 Buffer缓冲区3.3.1 核心字段3.3.2 demo测试3...原创 2019-12-24 17:54:44 · 1647 阅读 · 1 评论 -
【转义处理】Json和XML的特殊字符转义处理
0.背景一般在使用接口传输数据时通常会使用两种数据交换格式:JSON、XML。json通常用于前后端交互,xml可通过命名空间和规范check tag的层次关系,都可以很好地与对象互相转换。但是由于有的字符在格式上被用了,字段内容如果包含这些特殊字符需要进行转义!1.XML特殊字符xml的特殊字符 包括< > & "标签内容特殊 转义后 < ...原创 2019-11-06 15:11:57 · 6083 阅读 · 0 评论 -
【通信】https 客户端-服务端 实现
目录0.HTTPSHTTPS VS HTTP区别1.单向认证1.1 服务端1.2 客户端curl1.3 浏览器1.4 Java httpClient实现2 双向认证2.1 服务端2.2 客户端 curl2.2.1 永久信任curl2.2.2 curl携带客户端证书2.2.3 Java客户端实现0.HTTPSHTTPS与HTTP的区别就是基...原创 2019-04-22 18:13:31 · 3955 阅读 · 2 评论 -
【通信】SSL握手之证书认证
目录引言1. 数字证书1.1 证书组成2. 信任传递2. 证书链总结引言从https://blog.youkuaiyun.com/sarafina527/article/details/89333536握手一文中讲到 ssl握手时需要验证通信双方证书,验证机制时怎样的呢,什么情况能验证通过呢?当服务端S证书 与 本地系统的根证书 (如下图有很多根证书)能够构成证书链,就能...原创 2019-04-26 16:13:09 · 1008 阅读 · 0 评论 -
SSLSocket 客户端、服务端通信
1.SSL安全套接层SSL:(Secure Socket Layer) 安全套接层,于 1994 年由网景公司设计,并于 1995 年发布了 3.0 版本TLS:(Transport Layer Security)传输层安全性协议,是 IETF 在 SSL3.0 的基础上设计的协议这两种协议总体差别不大,实现的功能类似,以下都以SSL统称。ssl处于网络层次中的会话层,位于传输层TC...原创 2019-04-22 12:10:59 · 9775 阅读 · 0 评论 -
TCP通信 服务端客户端实现
Socket编程服务端TCPServer服务端,监听连接,提交线程池 并发处理每个连接package communication.tcp;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.IOException;import java.net.ServerSocket;impor...原创 2019-04-22 11:57:24 · 472 阅读 · 0 评论 -
SSL握手过程图解
目录0.SSL握手1.SSL握手流程2.WireShark抓包分析2.1握手数据包总览2.2数据包解析2.2.1.392:客户端发送Client Hello,2.2.2.403:服务端发送Server Hello ,2.2.3.406:Certificate 发送服务端的证书及其根证书,2.2.4.411:Server Key Exchange ,2.2.5...原创 2019-04-16 15:02:08 · 22419 阅读 · 11 评论