1024星球
码龄10年
关注
提问 私信
  • 博客:180,017
    180,017
    总访问量
  • 63
    原创
  • 1,627,045
    排名
  • 280
    粉丝
  • 1
    铁粉

个人简介:Less is more.

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2014-11-09
博客简介:

1024星球

查看详细资料
个人成就
  • 获得42次点赞
  • 内容获得51次评论
  • 获得101次收藏
  • 代码片获得142次分享
创作历程
  • 51篇
    2021年
  • 6篇
    2017年
  • 6篇
    2016年
成就勋章
TA的专栏
  • 网络协议
    16篇
  • Swift
    35篇
  • Mac
    3篇
  • OC
    5篇
  • Xcode插件
    2篇
兴趣领域 设置
  • 数据结构与算法
    排序算法
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

349人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

网络协议系列十八 - 网络爬虫/HTTP缓存/IPv6

本文仅仅是常见协议的扫盲,具体技术点可参考其他相关文档。一、VPNVPN(Virtual Private Network),虚拟私人网络。它可以在公共网络上建立专用网络,进行加密通讯。1.1. 作用提高上网的安全性(加密数据)保护公司内部资料隐藏上网者的身份(VPN Server转发数据)突破网站的地域限制有些网站针对不同地区的用户展示不同的内容突破网络封锁(科学上网)因为有GWF(Great Firewall of China,中国长城防火墙)的限制,有些网站在国内上不
原创
发布博客 2021.06.25 ·
967 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

网络协议系列十七 - WebSocket/FTP

WebSocket、FTP、RESTful、SMTP、IMAP、POP等协议很多人可能仅仅听说过,但没有了解过。一、ARP/RARP/ICMPARP(Address Resolution Protocol),地址解析协议。通过IP地址获取MAC地址。RARP(Reverse Address Resolution Protocol),逆地址解析协议。使用与ARP相同的报头结构作用与ARP相反,用于将MAC地址转换为IP地址后来被BOOTP、DHCP所取代ICMP(Internet C
原创
发布博客 2021.06.25 ·
869 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

网络协议系列十六 - HTTP2/HTTP3

HTTP2、HTTP3各个版本之间的关联。一、HTTP协议的不足(HTTP/1.1)同一时间,一个连接只能对应一个请求(注意:不是建立多个连接,是多个请求只能在一个连接内队列等待)。针对同一个域名,大多数浏览器允许同时最多6个并发连接。只允许客户端主动发起请求(请求应答模式,即一个请求只能对应一个响应)。同一个会话的多次请求中,头信息会被重复传输。通常会给每个传输增加500~800字节的开销。如果使用Cookie,增加的开销有时会达到上千字节。1.1. SPDYSPDY(spe
原创
发布博客 2021.06.24 ·
1016 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

网络协议系列十五 - HTTPS

HTTPS由网景公司于1994年首次提出。HTTPS是在HTTP的基础上使用SSL/TLS来加密报文,对窃听和中间人攻击提供合理的防护。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8CwE4hWY-1624499299124)(https://blog.idbeny.com/jv2po.png@normal)]一、HTTPSHTTPS(HyperText Transfer Protocol Secure),超文本传输安全协议。常称为HTTP over TLS、HTT
原创
发布博客 2021.06.24 ·
798 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

网络协议系列十四 - (非)对称加密/数字签名/证书

很多开发人员经常听说加解密,但对其中原理不太了解,今天我们就一起探讨一下常用的加密原理。一、对称加密在对称加密中(也叫对称密码),加密和解密使用的是同一个密钥。常见的对称加密算法:DES3DESAES1.1. DES(Data Encryption Standard)DES是一种将64bit明文加密成64bit密文的对称加密算法,密钥长度是56bit。规格上来说,密钥长度是64bit,但每隔7bit会设置一个用于错误检查的bit,因此密钥长度实质上是56bit。由于DES每次
原创
发布博客 2021.06.21 ·
523 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

网络协议系列十一 - 应用层

对于HTTP大家都不陌生,但发起HTTP请求的过程都发生了什么呢?一、应用层常见协议超文本传输协议:HTTP、HTTPS文件传输:FTP电子邮件:SMTP、POP3、IMAP动态主机配置:DHCP域名系统:DNS1.1. 域名(Domain Name)由于IP地址不方便记忆,并且不能表达组织的名称和性质,人们设计出了域名(比如baidu.com)。但实际上,为了能够访问到具体的主机,最终还是得知道目标主机的IP地址。为什么不直接用域名?IP地址固定4个字节,域名随随便便都至少10几个字
原创
发布博客 2021.06.18 ·
606 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

网络协议系列十 - 传输层-TCP连接

TCP经典面试题:三次握手四次挥手。一、序号、确认号发送HTTP请求前先建立连接(三次握手):发送方发送数据时,并不是每次发送TCP段都需要发送确认信号的,上图中每段都发送确认信号只是为了让我们更好的理解发送流程。序号是发送方为了让接收方知道当前发送的是哪一块数据。真正的序号并不是从1开始的(相对值),而是一个很大的值(原始值),只不过为了方便记忆及学习,wireshark已经计算处理。序号是在建立连接时已经确定的。ACK号是接收方告诉发送方下一次发送数据从哪一个字节开始。序号原始值为什
原创
发布博客 2021.06.16 ·
194 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

网络协议系列九 - 传输层-TCP之流量控制和拥塞控制

如果接收方的缓存区满了,发送方还在疯狂发送数据,接收方只能把收到的数据包丢掉,大量的丢包会极大浪费网络资源,所以要进行流量控制。一、流量控制流量控制:让发送方的发送速率不要太快,让接收方来得及接收处理。原理:通过确认报文中窗口字段来控制发送方的发送速率;发送方的发送窗口大小不能超过接收方给出的窗口大小;当发送方收到接收窗口的大小为0时,发送方就会停止发送数据。有一种特殊情况,一开始,接收方给发送方发送了0窗口的报文段。后面,接收方又有了一些存储空间,给发送方发送的非0窗口的报文段丢失了。此时发
原创
发布博客 2021.06.16 ·
1610 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

网络协议系列八 - 传输层-TCP之可靠传输

TCP比UDP复杂,也是一个难点,在面试过程中也是会被大概率提问的。一、TCPTCP(Transmission Control Protocol):传输控制协议。TCP的几个要点:可靠传输、流量控制、拥塞控制、连接管理(建立和释放连接)。也正因为这几点使得首部变得很复杂。1.1. 数据偏移(Reserved)占4位,取值范围是0x0101 ~ 0x1111。乘以4就是首部长度(Header Length)。所以取值范围是5 ~ 60字节,由于首部固定部分占用20字节,所以可选部分至多占用4
原创
发布博客 2021.06.15 ·
824 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

网络协议系列七 - 传输层-UDP

传输层有两个协议是每一个程序员必然知道的:UDP、TCP。一、传输层(Transport)TCP和UDP的区别:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JvlOcP1G-1623720028115)(http://blog.idbeny.com/e2hys.png@normal)]1.1. 连接性TCP是面向连接,也就是说TCP传输必须先要建立连接才能通信,建立连接就是我们熟知的“三次握手”。TCP在数据传输完毕后需要断开连接,因为服务器会有端口不断的监听本
原创
发布博客 2021.06.15 ·
301 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

网络协议系列六 - 网络层

网络层在OSI中的比重很大,几乎所有的网络请求库都会涉及到。一、网络层(Network)网络层数据包(IP数据包:Packet)由首部、数据2部分组成。数据:很多时候是由传输层传递下来的数据段(Segment)。1.1. 版本(Version)占4位(0b0100:IPv4,0b0110:IPv6)。1.2. 首部长度(Header Length)占4位,标识该IP头部有多少个32bit字(4字节),因为4位最大能表示15,所以IP头部最长是60字节。最小值:0b0101(5 * 4
原创
发布博客 2021.06.11 ·
754 阅读 ·
1 点赞 ·
3 评论 ·
3 收藏

网络协议系列五 - 物理层/数据链路层

OSI七层模型中的物理层和数据链路层处于模型最底部,可以说是网络协议的基层。一、物理层(Physical)物理层定义了接口标准、线缆标准、传输速率、传输方式等(比如路由器定义的接口是做什么的、水晶头怎么排布、光缆线的作用等)。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1LDeOKLA-1623382316679)(http://blog.idbeny.com/bq7lc.jpeg@normal)]1.1. 模拟信号、数字信号模拟信号(Analog Sig
原创
发布博客 2021.06.11 ·
1389 阅读 ·
1 点赞 ·
1 评论 ·
6 收藏

网络协议系列四 - 路由/名词解释

在不同网段之间转发数据,需要有路由器的支持。一、路由默认情况下,路由器只知道跟它直连的网段,非直连的网段需要通过静态路由、动态路由告诉它。1.1. 静态路由管理员手动添加路由信息适用于小规模网络类型C代表直连(connected)类型S代表静态(static)路由器查找路由器(下一跳):路由器0和路由器1的接口IP地址必须在同一个网段才能通信,并且IP地址不能和已连设备的IP冲突。静态路由配置时,一般情况下是配置网段。如果想指定设备IP,可以设置网络(网段)为指定IP,
原创
发布博客 2021.06.09 ·
1406 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

网络协议系列三 - MAC地址/IP地址/子网掩码

MAC/IP/子网掩码在网络中非常重要,只要有网络的地方必然都会涉及这三个概念。一、MAC每一个网卡都有一个6字节(48bit)的MAC地址(Media Access Control)。全球唯一,固化在了网卡的ROM中,由IEEE802标准规定前3个字节:OUI(Organizationally Unique Identifier),组织唯一标识符,由IEEE的注册管理机构分配给厂商后三个字节:网络接口标识符,由厂商自行分配OUI查询http://standards-oui.
原创
发布博客 2021.06.09 ·
5850 阅读 ·
2 点赞 ·
0 评论 ·
8 收藏

网络协议系列二 - 集线器/网桥/交换机/路由器

本文假设你具备HTML+CSS+JS+Java基础(知道基本语法及如何使用即可)。一、新建Java项目并部署我们自己搭建一个简单的登录页面和服务,以此了解客户端和服务端之间的数据交互流程。提示:路径、类名、资源名尽量不要出现中文或者特殊字符。1.1. 服务端(Java)新建空项目工程命名(工程名其实就是工程根目录文件夹名称)新建模块(一个工程是由多个模块组成的)在刚刚创建的模块src下新建一个java类(src是存放模块代码的)运行上.
原创
发布博客 2021.06.08 ·
600 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

网络协议系列一 - 基本认识

互联网的出现,彻底改变了人们的生活方式,足不出户就可以购物、聊天、看电影、买车票等。思考:数据是如何从一个设备传递到另一个设备的?这一切都是由网络协议来规定的。没有网络协议,就没有今天的互联网/物联网。一、搭建环境要想真正了解网络之间数据如何传输?协议的约束条件?就需要一套能够发起网络请求和处理请求的环境。1.1. 客户端使用浏览器即可(会基本的HTML+CSS+JS即可)。1.2. 服务端以Java为例。1.2.1. 必装工具JDK:https://www.oracle.co
原创
发布博客 2021.06.08 ·
219 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Swift系列三十五 - 源码和第三方库

Swift 于 2015 年正式开源。一、目录简介Github:https://github.com/apple/swift几个可能会经常看的目录:docs:一些文档stdlib:Swift 源码lib:C++源码include:C++头文件标准库源码位置:https://github.com/apple/swift/tree/main/stdlib/public/core二、Metadata 分析文档:https://github.com/apple/swift/blob/m
原创
发布博客 2021.05.08 ·
671 阅读 ·
0 点赞 ·
2 评论 ·
0 收藏

Swift系列三十四 - 响应式编程(RxSwift的使用)

响应式编程(Reactive Programming,简称RP)也是一种编程范式,于1997年提出,可以简化异步编程,提供更优雅的数据绑定。一、初始响应式编程响应式编程一般与函数式融合在一起,所以也会叫做:函数响应式编程(Functional Reactive Programming,简称FRP)。比较著名的,成熟的响应式框架:ReactiveCocoa简称RAC,有OC、Swift版本官网:http://reactivecocoa.io/github:https://github.c
原创
发布博客 2021.05.08 ·
1290 阅读 ·
2 点赞 ·
2 评论 ·
4 收藏

Swift系列三十三 - 面向协议编程

面向协议编程(Protocol Oriented Programming,简称POP)是Swift的一种编程范式,Apple于2015年WWDC提出。在Swift的标准库中,能见到大量POP的影子。一、POP和OOP1.1. 回顾OOPSwift也是一门面向对象的编程语言(Object Oriented Programming,简称OOP)。OOP的三大特性:封装、继承、多态。继承的经典使用场景:当多个类(比如A、B、C类)具有很多共性时,可以将这些共性抽取到一个父类中(比如D类),最后A、B、
原创
发布博客 2021.05.08 ·
829 阅读 ·
3 点赞 ·
0 评论 ·
2 收藏

Swift系列三十二 - 函数式编程

函数式编程(Funtional Programming,简称FP)是一种编程范式,也就是如何编写程序的方法论。一、什么是函数式编程?1.1. 介绍主要思想: 把计算过程尽量分解成一系列可复用函数的调用。主要特征: 函数是"一等公民"(函数与其他数据类型一样的地位,可以赋值给其他变量,也可以作为函数参数、函数返回值)。函数式编程中几个常用的概念:Higher-Order Function、Function CurryingFunctor、Applicative Functor、Monad
原创
发布博客 2021.05.08 ·
764 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏
加载更多