![](https://img-blog.csdnimg.cn/ddbeb0b215dd4fea9b8e2dc8274741da.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
网络
文章平均质量分 82
http、tcp 、ip那点事
爱琴孩
扫盲+科普+解惑,愿天下程序员每天少掉头发
展开
-
扫盲网络基础
两个人打cs,总会觉得无聊,但是每台电脑又只有一个网线口。想要邀请更多的人一起玩,怎么办?这是个工作在物理层的设备。有多个网口,很好的解决了电脑上只有一个网口的问题,可以做到多台电脑的网线都插入到集线器上。同时工作原理也非常简单,会把某个端口收到的数据,输入到中继电路。中继电路的基本功能是将输入的信号广播到集线器的所有端口上。简单来说就是无脑复制N份到其余N个端口上。数据复制到N个端口后。对应转发到N台机器里。集线器内部结构。说到这里,已经对集线器有个大概认识了。接下来,我们看下集线器的内部结构。转载 2022-12-25 22:02:46 · 594 阅读 · 0 评论 -
socket那点事
socket中文套接字,我理解为一套用于连接的数字。sock在内核,socket_fd在用户空间,socket层介于内核和用户空间之间。在操作系统内核空间里,实现网络传输功能的结构是sock,基于不同的协议和应用场景,会被泛化为各种类型的xx_sock,它们结合硬件,共同实现了网络传输功能。转载 2022-12-23 15:59:16 · 961 阅读 · 0 评论 -
扫盲Mac地址
Mac地址有点像身份证号码,而IP地址就像门牌号码。在茫茫大海中仅凭一个身份证号码找到一颗别样的沙粒很难,但如果先找到具体的沙滩,沙滩划分很小的网格片区,就很容易通过身份证找到这颗别样的沙粒了。MAC地址(物理地址、硬件地址)是实实在在的网络设备出身地址,它是由厂商写入网络设备的bios中。网络设备厂商也并不能随意的使用Mac地址,需要向IEEE申请,当然厂商申请需要付费。转载 2022-11-18 17:32:00 · 270 阅读 · 0 评论 -
http和RPC那点事
纯裸TCP是能收发数据,但它是个无边界的数据流,上层需要定义消息格式用于定义消息边界。于是就有了各种协议,HTTP和各类RPC协议就是在TCP之上定义的应用层协议。RPC本质上不算是协议,而是一种调用方式,而像gRPC和thrift这样的具体实现,才是协议,它们是实现了RPC调用的协议。目的是希望程序员能像调用本地方法那样去调用远端的服务方法。同时RPC有很多种实现方式,不一定非得基于TCP协议。从发展历史来说,HTTP主要用于b/s架构,而RPC更多用于c/s架构。............转载 2022-08-09 22:41:31 · 190 阅读 · 0 评论 -
ip地址那点事(二)
即便没有专业学过计算机的人,只要倒腾过电脑,重装过系统,大多也会知道这个问题的答案在Windows上是ipconfig,在Linux上是ifconfig。那你知道在Linux上还有什么其他命令可以查看IP地址吗?答案是ipaddr。如果回答不上来这个问题,那你可能没怎么用过Linux。.....................转载 2022-07-30 16:46:09 · 147 阅读 · 0 评论 -
ip地址那点事
正常情况下,你和我都有一台电脑,但是一台电脑所能做的事情是有限的,我们可能两台电脑之间为了做更多的事情,我们需要数据交互,我们可以通过U盘作为媒介,进行数据交换,但这样效率实在是太慢了,于是,为了提高效率,有人想到了一个好办法,我们在两台电脑之间插上数据线,通过数据线进行数据交互有了这根数据线,或者叫网线,这个两台电脑就能进行数据交互了,但是,如果不止有两台电脑呢?有多台电脑的情况下,又该这么牵网线呢?你发现了,如果每一台机器为了和其他机器通讯,那就得和那台机器建立连接,如果随着机器越来越多,那网线数目会是转载 2022-07-05 20:48:28 · 264 阅读 · 0 评论 -
TCP那点事
两台主机之间的通信。这个时候只需要一条网线把两者连起来,规定好彼此的硬件接口,如都用USB、电压10v、频率2.4GHz等,这一层就是物理层,这些规定就是物理层协议 。我们当然不满足于只有两台电脑连接,因此我们可以使用交换机把多个电脑连接起来,如下图:这样连接起来的网络,称为局域网,也可以称为以太网(以太网是局域网的一种)。在这个网络中,我们需要标识每个机器,这样才可以指定要和哪个机器通信。这个标识就是硬件地址MAC。硬件地址随机器的生产就被确定,永久性唯一................转载 2022-06-25 16:56:47 · 195 阅读 · 0 评论 -
Http协议那点事
什么是 HTTP?互联网是有关web 客户端和web 服务器之间的通信。HTTP(HyperTextTransferProtocol)又叫超文本传输协议。本质上就是一个协定好双方如何进行交流沟通的约定。HTTP 简史HTTP / 0.9 - 单行协议1989年,当时还在欧洲核子研究组织(CERN)工作的蒂姆·伯纳斯·李(Tim Berners-Lee)提出了一种能让远隔两地的研究者们共享知识的设想。最开始称为 Mesh,后来在 1990 年实施期间将其重命名为World...转载 2022-04-10 14:23:55 · 196 阅读 · 0 评论 -
ping和telnet那点事
前言实际的项目开发与调试过程中或多或少都涉及到不同网络环境之间的访问,而有时候网络安全部门对不同办公网络环境的互通权限、代理设置也会发生变更,因此,如果快速定位网络访问不通的问题是提高工作效率的关键。于是,使用ping与telnet命令快速定位问题就很方便了,仅做记录。1. ping 命令ping命令常用于测试源网络主机到目标网络主机的连通性,同时评估网络连接质量。ps:ping 域名 也可以用于解析得到该域名的ip;2. telnet 命令 telnet 命令常用于远程连接原创 2021-11-23 23:08:42 · 2024 阅读 · 0 评论 -
ARP协议那点事
arp协议的主要功能是将IP地址解析为物理地址。使用ARP协议可根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行。地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以转载 2021-11-22 21:56:47 · 106 阅读 · 0 评论 -
3年经验,还不知道字节序
字节字节(Byte)作为计算机世界的计量单位,和大家手中的人民币多少多少“元”一个意思。反正,到了计算机的世界,说字节就对了,使用人家的基本计量单位,这是入乡随俗。比如,一个电影是1G个字节(1GB),一首歌是10M个字节(10MB),一张图片是1K个字节(1KB)。字节序当数据太大,一个字节存不下的时候,我们就得使用多个字节。比如,我有两个分别需要4个字节存储的整数,为了方便说明,使用16进制表示这两个数,即0x12345678和0x11223344。有的人采用以下方式存储这个两个数字:转载 2021-09-04 11:25:12 · 199 阅读 · 0 评论 -
Http扫盲之transfer-encoding
前言Transfer-Encoding,是一个 HTTP 头部字段,字面意思是「传输编码」。实际上,HTTP 协议中还有另外一个头部与编码有关:Content-Encoding(内容编码)。Content-Encoding 通常用于对实体内容进行压缩编码,目的是优化传输,例如用 gzip 压缩文本文件,能大幅减小体积。内容编码通常是选择性的,例如 jpg / png 这类文件一般不开启,因为图片格式已经是高度压缩过的,再压一遍没什么效果不说还浪费 CPU。而 Transfer-Encoding 则是原创 2021-06-05 17:35:42 · 3818 阅读 · 3 评论 -
图解中间人攻击
何为HTTP 中间人攻击HTTP 协议使用起来确实非常的方便,但是它存在一个致命的缺点:不安全。我们知道 HTTP 协议中的报文都是以明文的方式进行传输,不做任何加密,这样会导致什么问题呢?下面来举个例子:小明在 JAVA 贴吧发帖,内容为我爱JAVA:被中间人进行攻击,内容修改为我爱PHP可以看到在 HTTP 传输过程中,中间人能看到并且修改 HTTP 通讯中所有的请求和响应内容,所以使用 HTTP 是非常的不安全的。如何防止中间人攻击这个时候可能就有人想到了,既然内容是明转载 2021-03-13 16:15:14 · 1303 阅读 · 0 评论 -
精讲TCP协议
TCP 协议的作用互联网由一整套协议构成。TCP 只是其中的一层,有着自己的分工。最底层的以太网协议(Ethernet)规定了电子信号如何组成数据包(packet),解决了子网内部的点对点通信。但是,以太网协议不能解决多个局域网如何互通,这由 IP 协议解决。IP 协议定义了一套自己的地址规则,称为 IP 地址。它实现了路由功能,允许某个局域网的 A 主机,向另一个局域网的 B 主机发送消息。路由的原理很简单。市场上所有的路由器,背后都有很多网口,要接入多根网线。路由器内部有一张路由表,规定了 A 段转载 2020-10-07 21:33:27 · 418 阅读 · 0 评论 -
HttpClient设置请求超时
前言最近,我无疑间看到同事提交到git上的httpclient调用第三方服务设置超时代码,发现有趣的一件事。项目中引用的httpclient版本是4.4.5版本,结果同事为了设置超时,在项目的pom.xml中又增加了一个低版本的httpclient依赖。然后按照低版本的超时写法设置httpclient调用超时。这里并不是说低版本的超时稳定性更好,可能同事不知道4.4.5版本升级之后的设置超时写...原创 2019-10-24 22:55:27 · 4138 阅读 · 0 评论 -
扫盲系列之http长连接短连接
前言作为一名web开发者,如果对http协议不熟悉那肯定是说不过去的,至少不能称为一名合格的web开发。http协议是属于应用层协议,除了http协议,我们还经常遇到Tcp/Udp协议,他们是属于传输层协议,ip协议是属于网络层协议。这里的关注点不是这些协议的区别,我们主要来学习一下http协议中的长连接短连接。http的长连接和短连接本质上是TCP协议的长连接和短连接,由于UDP不是基于连接的协议原创 2017-09-20 20:11:42 · 634 阅读 · 0 评论 -
扫盲系列之http缓存
前言最近由于项目比较忙,连续加班了两个礼拜,所以这两周时间内,没有好好写写东西。项目中也用到一些新东西和自己遇到的一些问题,这些小知识点在后面会抽时间来巩固巩固,毕竟技术这东西不是在网上百度出来就代表你已经掌握了,如果只是为了应付项目的完成,对于知识和技术只是浅尝辄止。那么后面再次遇到问题,或者更加复杂的问题,你就要花费更多的时间来百度。所以在日常开发中要多总结,多复习,系统的学习自己用到的技术点。原创 2017-11-09 21:03:03 · 350 阅读 · 0 评论 -
httpclient封装工具类
前言在日常开发中,我们经常需要通过http协议去调用网络内容,虽然java自身提供了net相关工具包,但是其灵活性和功能总是不如人意,于是有人专门搞出一个httpclient类库,来方便进行Http操作。对于httpcore的源码研究,我们可能并没有达到这种层次,在日常开发中也只是需要的时候,在网上百度一下,然后进行调用就行。在项目中对于这个工具类库也许没有进行很好的封装。在哪里使用就写在哪些,很多原创 2019-09-05 22:55:36 · 26766 阅读 · 2 评论 -
长连接和心跳的那些事儿
前言长连接 首先这里所说的连接是指网络传输层的使用TCP协议经过三次握手建立的连接;长连接是指建立的连接长期保持,不管此时有无数据包的发送;有长连接自然也有短连接,短连接是指双方有数据发送时,就建立连接,发送几次请求后,就主动或者被动断开连接。心跳 心跳这个名字比较形象,就像人体心跳一样,是用来检测一个系统是否存活或者网络链路是否通畅的一种方式,其一般做法是定时向被检测系统发送心跳包,...转载 2018-05-24 13:27:21 · 354 阅读 · 0 评论 -
把https撸明白
前言在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。SSL目前的版本是3.0,后来IETF对SS...原创 2018-06-25 21:58:11 · 476 阅读 · 0 评论 -
搞懂http协议
前言HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。HTTP 是基于 TCP/IP 协议通信协议来传递数据(HTML 文件、图片文件、查询结果等)。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。 Http的特点1、简单快速:客户向服务...转载 2019-01-02 21:56:50 · 222 阅读 · 0 评论 -
cookie之增删改查
前言前段时间一小伙伴在网上买了部手机,他跟我说了一下手机的型号,我想看看手机的质量,于是在网查询了一下这款手机的信息,之后关掉了网页。但是之后几天每次我打开360浏览器,首页上都会自动弹出该款手机的一些广告信息。一开始还挺浏览器是怎么做到这个的,这也太厉害了。后来想想无非就是服务器在浏览器中存储了我访问那个手机网页的一些信息,而这个信息就是通过cookie来存储的。。。cookie在日常生活或者开发原创 2017-08-10 15:05:42 · 515 阅读 · 0 评论