网络
文章平均质量分 78
沈鸿斌
爱生活,爱Coding
展开
-
TCP/IP解析(一):TCP/IP的工作方式
本文包含以下内容:1.TCP/IP协议系统2.OSI模型3.数据包4.TCP/IP的交互方式1.TCP/IP模型的协议层分为四层:网络访问层:提供与物理网络连接的接口。根据硬件的物理地址实现数据寻址。网际层:提供独立于硬件的逻辑寻址。传输层:为网络提供流量控制、错误控制和确认服务,充当网络应用程序的接口。应用层:为文件传输、远程控制等提供应用程序。原创 2015-08-09 20:50:57 · 4949 阅读 · 1 评论 -
关于负载均衡的一些总结
之前只了解Nginx相关的负载均衡,前段时间写RPC框架的时候涉及到LB这块,就去详细学习了些,在这里做个简单的总结。参考资料: http://blog.51cto.com/virtualadc/591396http://www.jianshu.com/p/8a61de3f8be9http://blog.csdn.net/column/details/load-balancing.原创 2017-11-28 01:38:59 · 951 阅读 · 0 评论 -
Netty线程模型
《Netty实战》这本书对于Netty的线程模型讲的还是太浅了,后来我找到一篇不错的文章。原文链接:http://www.infoq.com/cn/articles/netty-threading-model?utm_source=infoq&utm_campaign=user_page&utm_medium=link#anch1120041. 背景1.1. Java线转载 2017-09-24 19:29:51 · 625 阅读 · 0 评论 -
Netty实战读书笔记四:Bootstrapping
在深入地学习了 ChannelPipeline、ChannelHandler 和 EventLoop 之后,你接下来的问题可能是:“如何将这些部分组织起来,成为一个可实际运行的应用程序呢?” 答案是, 引导(Bootstrapping)。Bootstrap 类引导类的层次结构包括一个抽象的父类和两个具体的引导子类,如图 8-1 所示。服务器致力于使用一个父 Channel 来接受 来自客原创 2017-09-24 19:13:42 · 602 阅读 · 0 评论 -
Netty实战读书笔记三:EventLoop和线程模型
EventLoop 接口运行任务来处理在连接的生命周期内发生的事件是任何网络框架的基本功能。与之相应的编 程上的构造通常被称为事件循环— 一个 Netty 使用了 interface io.netty.channel. EventLoop 来适配的术语。代码清单 7-1 中说明了事件循环的基本思想,其中每个任务都是一个 Runnable 的实例。Netty 的 EventLoop 是协同设计的一部分原创 2017-09-24 17:45:41 · 602 阅读 · 0 评论 -
Netty实战读书笔记一:Netty的组件和设计以及它的传输
工作中用到了GRPC, 而它又用到了Netty, 所以最近在学习Netty的相关内容。第三章 Netty的组件和设计Channel 接口基本的 I/O 操作(bind()、connect()、read()和 write())依赖于底层网络传输所提 供的原语。在基于 Java 的网络编程中,其基本的构造是 class Socket。Netty 的 Channel 接 口所提供的 API,大大地降低原创 2017-09-23 15:08:25 · 513 阅读 · 0 评论 -
HTTP系列(六):报文实体和编码
一、实体实体首部指出这是一个纯文本文档(Content-Type:text/plain),它只有18 个字节长(Content-Length:18)。一个空白行(CRLF)把首部字段同主体的开始部分分隔开来。 1.实体首部HTTP实体首部描述了HTTP报文的内容。HTTP/1.1版定义了以下10原创 2016-06-06 22:51:40 · 3953 阅读 · 0 评论 -
HTTP系列(七):重定向与负载均衡
1.将报文重定向到服务器2.将报文重定向到代理服务器原创 2016-06-07 22:22:28 · 1074 阅读 · 0 评论 -
HTTP系列(五):HTTPS
1.数字加密技术一些基础概念:•密码对文本进行编码,使偷窥者无法识别的算法。比如循环移位算法,每个字母都用字母表中N位之后的字母代替。•密钥改变密码行为的数字化参数,循环移位算法中的N就是密钥。•对称密钥加密系统编 /解码使用相同密钥的算法。对称密钥加密技术的缺点之一就是发送者和接收者在互相对话之前,一定要原创 2016-06-01 23:56:10 · 1315 阅读 · 0 评论 -
HTTP系列(四):Cookie
一、Cookie成分这里我们只说cookies版本0的部分,不讨论cookies版本1(尚未得到广泛应用)。最初的 cookie规范是由网景公司定义的。这些“版本0”的cookie定义了 Set-Cookie响应首部、cookie请求首部以及用于控制cookie 的字段。版本0 的cookie看起来如下所示:Set-Cooki原创 2016-05-28 17:00:46 · 560 阅读 · 0 评论 -
HTTP系列(三):缓存
本文想要解释以下问题:HTTP 如何保持已缓存副本的新鲜度缓存如何与其他缓存和服务器通信一、保存缓存的新鲜1.If-Modified-Since 首部原始服务器的内容可能会发生变化,缓存要不时对其进行检测,看看它们保存的副本是否仍是服务器上最新的副本。这些“新鲜度检测”被称为HTTP 再验证。原创 2016-05-28 12:27:20 · 999 阅读 · 0 评论 -
HTTP系列(二):连接管理
一.TCP连接TCP为 HTTP提供了一条可靠的比特传输管道。从TCP连接一端填入的字节会从另一端以原有的顺序、正确地传送出来。TCP的数据是通过名为 IP分组(或IP数据报)的小数据块来发送的。HTTP就是“HTTP over TCP over IP”这个“协议栈”中的最顶层了。其安全版本原创 2016-05-02 21:56:31 · 7487 阅读 · 0 评论 -
HTTP系列(一):报文
一、组成部分1.报文语法HTTP 报文是简单的格式化数据块。每条报文都包含一条来自客户端的请求,或者一条来自服务器的响应。它们由三个部分组成:对报文进行描述的起始行(start line)、包含属性的首部(header)块,以及可选的、包含数据的主体(body)部分。 起始行和首部就是由行分隔的 ASCII文本。每行都以一原创 2016-04-27 22:04:55 · 6461 阅读 · 1 评论 -
用代码回复博客
本文讲述了如何使用代码模拟HTTP请求来实现数据爬取、点赞、评论回复等功能。内容包括:1.抓包软件WireShark的简单使用方法2.Python库requests的基本使用3.一个用代码回复博客的例子一、思路阐述首先,要模拟HTTP请求,我们要知道被模拟的真实HTTP它到底包含了哪些东西。它的目标URL是什么,参数是什么,是不是带cookie?除此之外还包原创 2015-06-19 09:35:08 · 10053 阅读 · 20 评论 -
如何写一个RPC框架(四):网络通信之客户端篇
在后续一段时间里, 我会写一系列文章来讲述如何实现一个RPC框架。 这是系列第四篇文章, 主要讲述了客户端和服务器之间的网络通信问题。模型定义我们需要自己来定义RPC通信所传递的内容的模型, 也就是RPCRequest和RPCResponse。@Data@Builderpublic class RPCRequest { private String requestId; pr原创 2017-11-12 14:36:13 · 2077 阅读 · 1 评论