CS揭秘
文章平均质量分 92
flydean程序那些事
懂程序更懂你!微信公众号:程序那些事 个人主页:www.flydean.com 最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧,尽在程序那些事!
展开
-
网络协议之:memcached binary protocol详解
前面讲到了memcached的文本协议,虽然文本协议看起来非常简单,但是对于客户端来说一般还是会选择效率更高的二进制协议。二进制协议的本质和文本协议是一样的,只是他们的表现方式不同而已。本文将会详细介绍memcached中二进制协议的实现细节。对于memcached的请求包和响应包来说,除了请求头有所区别之外,其他的格式都是一样的。所以对memcached的请求和响应都可以用同一个包的格式来表示:前面的24个byte是包头部分,接下来的是命令行的额外数据extra,memcached中的key和value。原创 2022-06-13 21:04:39 · 458 阅读 · 0 评论 -
网络协议之:memcached text protocol详解
文章目录简介memcached protocol介绍memcached支持的命令存储命令读取命令常用的其他命令memcached服务器的返回值支持UDP协议总结简介用过缓存系统的肯定都听过memcached的大名,memcached是一个非常优秀的分布式内存缓存系统,应用非常的广泛。Memcached不仅仅是Web缓存,它更是一个通用的数据缓存,基本上你可以将任何东西存入memcached中,它的分布式设计具有很好的可扩展性和灵活性。Memcached是一个客户端-服务器端的架构模式。一般来说,在服务原创 2022-05-30 18:15:13 · 272 阅读 · 0 评论 -
网络协议之:haproxy的Proxy Protocol代理协议
文章目录简介Proxy Protocol的实现细节版本1版本2Proxy Protocol的使用情况总结简介代理大家应该都很熟悉了,比较出名的像是nginx,apache HTTPD,stunnel等。我们知道代理就是代替客户端向服务器端进行消息请求,并且希望在代理的过程中保留初始的TCP连接信息,例如源和目标IP和端口等,以提供一些个性化的操作。一般情况下,为了实现这个目标,有一些现成的解决办法,比如在HTTP协议中,可以使用“X-Forwarded-For”标头,来包含有关原始源地址,还有"X-原创 2022-05-27 15:50:29 · 1244 阅读 · 0 评论 -
网络协议之:sctp流控制传输协议
文章目录简介TCP有什么不好sctp的特点总结简介要讲网络协议,肯定离不开OSI(Open System Interconnection)的七层模型。 我们一般关注的是网络层之上的几层,比如IPV4 IPV6所在的网络层,TCP UDP所在的传输层,HTTP FTP所在的应用层等。今天要讲的sctp协议,全称是Stream Control Transmission Protocol,翻译成中文就是流控制传输协议。是由IETF在RFC 4960中提出的。传输层已经有广泛被使用的TCP和UDP协议,那么原创 2022-05-16 15:07:31 · 800 阅读 · 0 评论 -
计算机编码规则之:Base64编码
文章目录简介Base64和它的编码原理Base64的变体Base64的编码细节总结简介我们知道计算机中的文件可以分为两种,一种是人肉眼可读的文本类文件,一种是肉眼不可读的二进制文件。一般来说二进制文件如果用文本编辑器打开的话会显示乱码,并且二进制文件和文本文件的存储和传输方式是不一样的,那么有没有什么办法将二进制文件转换成为文本文件进行传输或者存储呢?答案是肯定的。这种编码方式就是我们今天要讲到的Base64编码。Base64和它的编码原理Base64是一种将二进制编码格式转换为text编码的一种原创 2022-04-11 13:50:41 · 2312 阅读 · 0 评论 -
高级IO模型之kqueue和epoll
文章目录简介block IO和nonblocking IOIO多路复用和selectpollepollkqueueepoll和kqueue的优势简介任何一个程序都离不开IO,有些是很明显的IO,比如文件的读写,也有一些是不明显的IO,比如网络数据的传输等。那么这些IO都有那些模式呢?我们在使用中应该如何选择呢?高级的IO模型kqueue和epoll是怎么工作的呢?一起来看看吧。block IO和nonblocking IO大家先来了解一下IO模型中最简单的两个模型:阻塞IO和非阻塞IO。比如我们有原创 2022-03-21 20:38:19 · 5021 阅读 · 0 评论 -
网络标准之:永远是1.0版本的MIME
文章目录简介MIME详解MIME头MIME-VersionContent-TypeContent-DispositionContent-Transfer-EncodingEncoded-WordMultipart messages总结简介无规矩不成方圆,无标准不成网络通信。正是在各种网络协议和标准的基础之上,才构建了我们现在流行的互联网。今天给大家介绍的就是一个网络标准格式,叫做MIME,它的全称是Multipurpose Internet Mail Extensions,翻译过来就是多用途Intern原创 2022-03-11 07:33:08 · 3964 阅读 · 0 评论 -
网络协议之:基于UDP的高速数据传输协议UDT
文章目录简介UDT协议UDT的缺点总结简介简单就是美。在网络协议的世界中,TCP和UDP是建立在IP协议基础上的两个非常通用的协议。我们现在经常使用的HTTP协议就是建立在TCP协议的基础上的。相当于TCP的稳定性来说,UDP因为其数据传输的不可靠性,所以用在某些特定的场合,如直播、广播消息、视频音频流处理等不太需要校验数据完整性的场合。UDP相对TCP协议而言,其特点就是简洁,它删除了在TCP协议中为了保证消息准确性的各种限制性特征。简洁带来的好处就是快!今天给大家讲解一下,基于UDP的高速数据传输原创 2021-12-13 15:24:37 · 6531 阅读 · 0 评论 -
网络协议之:还在用HTTP代理?过时了,快试试SOCKS5
文章目录简介为什么要使用SOCKSSOCKS5SOCKS5的使用总结简介存在即是合理,SOCKS5的出现是为了解决SOCKS4中不支持身份认证的大问题而出现的,毕竟大家对网络中的安全越来越重视了。没有认证的网络就好像是生活在摄像头下的人生,毫无隐私可言,实在是太可怕了。今天给大家深入讲解一下SOCKS5和它的应用。为什么要使用SOCKSSOCKS是一种代理服务协议,为什么会要有代理服务协议呢?因为在现代网络中,很多情况下,由于网络或者防火墙的原因,我们很难直接去访问对方的网络,所以需要一种代理机原创 2021-12-10 11:25:23 · 3433 阅读 · 0 评论 -
网络协议之:一定要大写的SOCKS
文章目录简介SOCKS的故事SOCKS的历史SOCKS协议的具体内容SOCKS4SOCKS4aSOCKS5总结简介很久很久以前,人们还穿的是草鞋,草鞋虽然穿着舒服,但是不够美观。然后人们就发现,用动物的皮也可以做成鞋,于是出现了皮鞋。但是皮鞋穿着磨脚,于是人们又发明了socks,套在脚上,代替脚跟鞋子接触,既提高了舒适感,也减少了磨损,简直是一举两得的事情,非常完美。在网络世界,也存在这样的socks,为了和真实世界的socks进行区分,这里我们使用大写的SOCKS。SOCKS就是我们今天要讲解的网原创 2021-11-29 09:33:31 · 4644 阅读 · 0 评论 -
网络协议之:加密传输中的NPN和ALPN
文章目录简介SSL/TLS协议NPN和ALPN交互的例子总结简介自从HTTP从1.1升级到了2,一切都变得不同了。虽然HTTP2没有强制说必须使用加密协议进行传输,但是业界的标准包括各大流行的浏览器都只支持HTTPS情况下的HTTP2协议。那么怎么在HTTPS之中加入HTTP2协议的支持呢?今天本文将会跟大家聊一下SSL/TLS协议的扩展NPN和ALPN。SSL/TLS协议SSL(Secure Socket Layer)安全套接层,是1994年由Netscape公司设计的一套协议,并与1995年发原创 2021-10-18 10:16:21 · 8674 阅读 · 0 评论 -
网络协议之:WebSocket的消息格式
文章目录简介WebSocket的握手流程webSocket的消息格式Extensions和Subprotocols总结简介我们知道WebSocket是建立在TCP协议基础上的一种网络协议,用来进行客户端和服务器端的实时通信。非常的好用。最简单的使用WebSocket的办法就是直接使用浏览器的API和服务器端进行通信。本文将会深入分析WebSocket的消息交互格式,让大家得以明白,websocket到底是怎么工作的。WebSocket的握手流程我们知道WebSocket为了兼容HTTP协议,是在H原创 2021-09-24 10:25:54 · 17825 阅读 · 1 评论 -
小学生都能读懂的网络协议之:WebSocket
文章目录简介webSocket vs HTTPHTTP upgrade headerwebsocket的优点webScoket的应用websocket的握手流程WebSocket API总结简介服务端和客户端应该怎么进行通信呢?我们常见的方法就是客户端向服务器端发送一个请求,然后服务器端向客户端发送返回的响应。这种做法比较简单,逻辑也很清晰,但是在某些情况下,这种操作方式并不好使。比如在服务器端的某些变动需要通知客户端的情况,因为客户端并不知道服务器端的变动是否完成,所以需要不停的使用轮循去检测服务器原创 2021-09-23 10:23:06 · 17504 阅读 · 1 评论 -
安全系列之:跨域资源共享CORS
文章目录简介CORS举例CORS protocolHTTP request headersHTTP response headers基本CORSPreflighted requests带认证的请求总结简介什么是跨域资源共享呢? 我们知道一个域是由scheme、domain和port三部分来组成的,这三个部分可以唯一标记一个域,或者一个服务器请求的地址。跨域资源共享的意思就是服务器允许其他的域来访问它自己域的资源。CORS是一个基于HTTP-header检测的机制,本文将会详细对其进行说明。CORS举原创 2021-09-13 09:48:59 · 14794 阅读 · 1 评论 -
HTTP系列之:HTTP中的cookies
如果小伙伴最近有访问国外的一些标准网站的话,可能经常会弹出一个对话框,说是本网站为了更好的体验和跟踪,需要访问你的cookies,问你同意不同意,对于这种比较文明的做法,我一般是点同意的。原创 2021-09-02 21:14:00 · 15311 阅读 · 1 评论 -
HTTP系列之:HTTP缓存
为了提高网站的访问速度和效率,我们需要设计各种各样的缓存,通过缓存可以避免不必要的额外数据传输和请求,从而提升网站的请求速度。对于HTTP协议来说,本身就自带有HTTP缓存。今天我们就深入探讨一下HTTP中的缓存机制和使用。原创 2021-09-01 22:10:56 · 14723 阅读 · 1 评论 -
轻松让你的nginx服务器支持HTTP2协议
nginx是一个高效的web服务器,因为其独特的响应处理机制和低内存消耗,深得大家的喜爱,并且nginx可和多种协议配合使用,而HTTP2协议又是一个非常优秀的协议,如果将两者结合起来会产生意想不到的效果,今天我们将会讲解如何在nginx中配置HTTP2协议。原创 2021-08-28 10:09:26 · 11972 阅读 · 1 评论 -
是的你没看错,HTTP3来了
很多小伙伴可能还沉浸在HTTP1.1的世界无法自拔,但是时代的洪流已经带领我们来到了HTTP3的世界了。是的,你在桥上看风景,而桥边的房子上有人正在看你。为了不被时代所抛弃,今天给大家讲解一下HTTP3的新特性。原创 2021-08-27 15:36:34 · 12658 阅读 · 4 评论 -
HTTP协议之:HTTP/1.1和HTTP/2
HTTP的全称是Hypertext Transfer Protocol,是在1989年World Wide Web发展起来之后出现的标准协议,用来在WWW上传输数据。HTTP/1.1是1997年在原始的HTTP协议基础上进行的补充和优化。原创 2021-08-26 04:36:57 · 12642 阅读 · 1 评论 -
计算机揭秘之:网络分类和性能分析
程序员天天都在写代码,关注的都是更高层次的封装,今天我们换个思路,让程序那些事来带你看一看隐藏在表象之下的网络和他们的性能分析。本文主要涉及5个模块,分别是网络七层协议,延迟与带宽,IP,TCP,UDP。原创 2020-07-17 09:47:11 · 13727 阅读 · 2 评论