计算机网络
文章平均质量分 65
计算机网络课程笔记。主要学习湖南科技大学老师的视频。
学而不思则忘
一切都可以
展开
-
Token和JWT
我们知道 Session 信息需要保存⼀份在服务器端。这种⽅式会带来⼀些麻烦,⽐如 需要我们保证保存 Session 信息服务器的可⽤性、不适合移动端(依赖Cookie)等等。有没有⼀种不需要⾃⼰存放 Session 信息就能实现身份验证的⽅式呢?使⽤ Token 即可!JWT (JSON Web Token) 就是这种⽅式的实现,通过这种⽅式服务器端就不需要保存 Session 数据 了,只⽤在客户端保存服务端返回给客户的 Token 就可以了,扩展性得到提升。JWT 本质上就⼀段签名的 JSON 格原创 2021-05-08 10:38:54 · 255 阅读 · 0 评论 -
Cookie ⽆法防⽌CSRF攻击,⽽token可以
1. 为什么Cookie ⽆法防⽌CSRF攻击,⽽token可以?CSRF(Cross Site Request Forgery)⼀般被翻译为 跨站请求伪造 。那么什么是 跨站请求伪造 呢?说简单⽤你的身份去发送⼀些对你不友好的请求。举个简单的例⼦: ⼩壮登录了某⽹上银⾏,他来到了⽹上银⾏的帖⼦区,看到⼀个帖⼦下⾯有⼀个链接写着“科学理 财,年盈利率过万”,⼩壮好奇的点开了这个链接,结果发现⾃⼰的账户少了10000元。这是这么 回事呢?原来⿊客在链接中藏了⼀个请求,这个请求直接利⽤⼩壮的身份给银⾏发原创 2021-05-08 10:21:50 · 766 阅读 · 1 评论 -
限流的原理
1. 计数器算法在一定时间内,对处理的请求数进行计数,每次到达时间临界点则计数器清零。在一定时间间隔内,若计数器数字超限,则进行限流。@Slf4jpublic class CountLimiter { private static long startTime = System.currentTimeMillis(); //时间间隔 private static long interval = 1000; //时间间隔内最大处理请求数 privat原创 2021-04-20 11:05:24 · 489 阅读 · 0 评论 -
计算机网络体系结构
转载 2021-04-06 13:36:28 · 71 阅读 · 0 评论 -
HTTPS与HTTP的区别
1. HTTP和HTTPS的基本概念HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。2.原创 2021-04-05 21:27:17 · 198 阅读 · 0 评论 -
TCP协议的TIME_WAIT状态
1. TIME_WAIT状态原因TCP 协议中包含 11 种不同的状态,TCP 连接会根据发送或者接收到的消息转换状态,如下图所示的状态机展示了所有可能的转换,其中不仅包含了正常情况下的状态转换过程,还包含了异常状态下的状态转换:使用 TCP 协议通信的双方会在关闭连接时触发 TIME_WAIT 状态,关闭连接的操作其实是告诉通信的另一方自己没有需要发送的数据,但是它仍然保持了接收对方数据的能力,一个常见的关闭连接过程如下:当客户端没有待发送的数据时,它会向服务端发送 FIN 消息,发送消息后会进转载 2021-03-20 10:56:58 · 5800 阅读 · 0 评论 -
GET和POST区别
1. 标准答案分类GETPOST后退按钮/刷新无害数据会被重新提交(浏览器应该告知用户数据会被重新提交)。书签可收藏为书签不可收藏为书签缓存能被缓存不能缓存编码类型application/x-www-form-urlencodedapplication/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。历史参数保留在浏览器历史中。参数不会保存在浏览器历史中。对数据长度的限转载 2021-03-04 13:22:14 · 743 阅读 · 1 评论 -
计算机网络体系结构
一、OSI体系结构应用层表示层会话层运输层网络层数据链路层物理层二、TCP/IP体系结构应用层运输层网际层网络接口层三、五层协议应用层 :任务是通过应用进程间的交互来完成特定网络应用。应用层交互的数据单元称为报文。运输层:解决进程之间基于网络的通信问题。主要使用下面两种协议:传输控制协议TCP——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段用户数据协议UDP——提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),数据传输.原创 2021-02-08 17:07:22 · 1342 阅读 · 0 评论 -
简单说一下HTTP协议
HTTP协议定义了浏览器怎么向万维网请求万维网文档,以及万维网怎样把文档传送给浏览器。HTTP协议工作流程:HTTP协议特点HTTP协议是无状态的采用TCP作为运输层协议,但HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)HTTP连接方式:持久连接(keep-alive),非持久连接(close)HTTP报文结构请求报文:响应报文:HTTP消息报头普通报头Cache-Control:用于指定缓存指令请求时的缓存指令包括:no原创 2021-02-02 22:48:30 · 725 阅读 · 1 评论 -
Cookie和Session的关系和区别
客户端访问服务端的流程为:客户端发送一个HTTP请求到服务端服务端收到客户端的请求后,建立一个session,并发送一个HTTP响应到客户端,这个响应头中,包含了Set-Cookie头部。该头部包含了SessionId,然后会在客户端设置一个属于这个域名下的cookie在客户端发起第二次请求时,浏览器会自动在请求中携带cookie(包括sessionId)服务端接受请求,分解cookie,验证信息,核对成功后返回响应给客户端Cookie为了辨别用户身份,进行session跟踪而存储在用户本地转载 2021-02-02 21:46:21 · 208 阅读 · 0 评论 -
TCP在什么情况下会出现服务端出现大量CLOSE_WAIT?
例子一:https://blog.csdn.net/yu616568/article/details/44677985大部分请求都需要查询数据库,我的数据库连接池设置的最大连接数是100,所以每一个请求创建了一个连接,等到100个请求就把连接池占满了,但是处理servlet的那个线程并没有释放这个连接,于是接下来的请求再去创建数据库连接的时候就会一直阻塞在那里,这里我所用的是DBCP作为连接池的,它的实现好像是使用apache的objectPool来实现的,如果没有可用的连接对象会导致线程等待,好了,s原创 2020-11-30 15:15:16 · 1026 阅读 · 0 评论 -
TCP滑动窗口和重传机制
文章摘自:https://www.cnblogs.com/xiaolincoding/p/12732052.html重传机制TCP 实现可靠传输的方式之一,是通过序列号与确认应答。在 TCP 中,当发送端的数据到达接收主机时,接收端主机会返回一个确认应答消息,表示已收到消息。常见的重传机制:超时重传快速重传SACKD-SACK超时重传重传机制的其中一个方式,就是在发送数据时,设定一个定时器,当超过指定的时间后,没有收到对方的 ACK 确认应答报文,就会重发该数据,也就是我们常说的超时转载 2020-11-30 14:56:13 · 994 阅读 · 1 评论 -
HTTP方法有哪些?
GET:用于使用给定的URI从给定服务器中检索信息,即从指定资源中请求数据。使用GET方法的请求应该只是检索数据,并且不应对数据产生其他影响。GET请求是可以缓存的,我们可以从浏览器历史记录中查找到GET请求,还可以把它收藏到书签中;且GET请求有长度限制,仅用于请求数据(不修改)。POST:用于将数据发送到服务器以创建或更新资源,它要求服务器确认请求中包含的内容作为由URI区分的Web资源的另一个下属。POST请求永远不会被缓存,且对数据长度没有限制;我们无法从浏览器历史记录中查找到POST请求。.原创 2020-11-29 23:20:03 · 375 阅读 · 0 评论 -
对称加密和非对称加密
对称加密:指的就是加、解密使用的同是一串密钥,所以被称做对称加密。对称加密只有一个密钥作为私钥。常见的对称加密算法:DES,AES等。非对称加密:指的是加、解密使用不同的密钥,一把作为公开的公钥,另一把作为私钥。公钥加密的信息,只有私钥才能解密。反之,私钥加密的信息,只有公钥才能解密。最常用的非对称加密算法:RSA对称加密优缺点:对称加密相比非对称加密算法来说,加解密的效率要高得多、加密速度快。但是缺陷在于对于密钥的管理和分发上比较困难,不是非常安全,密钥管理负担很重。非对称加密优缺点:安全性原创 2020-11-29 23:00:57 · 449 阅读 · 2 评论 -
什么是跨域?什么情况下会发生跨域请求?
跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。同源策略:所谓同源是指:协议,域名,端口均相同。即便两个不同的域名指向同一个ip地址,也非同源。http://www.123.com/index.html 调用 http://www.123.com/server.php (非跨域)http://www.123.com/index.html 调用 http://www.456.com/server.php (主域名不同:123/456,跨域)http:/原创 2020-11-29 20:45:20 · 6759 阅读 · 0 评论 -
HTTPS加密和认证过程
HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 超文本传输安全协议)HTTPS在传统的HTTP和TCP之间加了一层用于加密解密的SSL/TLS层(安全套接层Secure Sockets Layer / 安全传输层Transport Layer Security)层。使用HTTPS必须要有一套自己的数字证书(包含公钥和私钥)HTTPS解决的问题:信息加密传输:第三方无法窃听;校验机制:一旦被篡改,通信双方会立刻发现;.原创 2020-11-29 20:31:56 · 1212 阅读 · 0 评论 -
在浏览器中输入URL地址,到显示主页的过程
分为以下几个过程:DNS解析TCP连接发送HTTP请求服务器处理请求并返回HTTP报文浏览器解析渲染页面连接结束1. DNS解析网址到IP地址的转换。上述图片是查找www.google.com的IP地址过程。首先在本地域名服务器中查询IP地址,如果没有找到的情况下,本地域名服务器会向根域名服务器发送一个请求,如果根域名服务器也不存在该域名时,本地域名会向com顶级域名服务器发送一个请求,依次类推下去。直到最后本地域名服务器得到google的IP地址并把它缓存到本地,供下次查询使用。从转载 2020-11-29 15:46:13 · 1152 阅读 · 0 评论 -
常见HTTP状态码
200:请求成功301:被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。302:请求的资源现在临时从不同的 URI 响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。304:如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。304 响应禁止包含消息体,因此始终以消息头后的第一个空行结尾。401:当前请求需要用户验证。40.原创 2020-11-29 14:02:30 · 151 阅读 · 0 评论 -
TCP可靠传输的实现
TCP保证可靠传输的手段确认和超时重传:接收方收到报文后就会确认,发送方发送一段时间后没有收到确认就会超时重传。这段时间选择有一种算法策略,是动态的。校验和:TCP将保持首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段。流量控制: TCP 连接的每⼀⽅都有固定⼤⼩的缓冲空间,TCP的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收⽅来不及处理发送⽅的数据,能提示发送⽅降低发送的速率,防⽌包丢失原创 2020-11-29 13:47:29 · 341 阅读 · 0 评论 -
TCP流量控制和拥塞控制
参考来自:https://www.bilibili.com/video/BV1c4411d7jb?p=60一、流量控制所谓流量控制:让发送方发送速率不要太快,让接收方来得及接收。利用滑动窗口机制可以实现流量控制。在通信过程中,接收方根据自己接收缓存的大小,动态的调整发送方发送窗口的大小。接收方设置确认报文段的窗口字段调整的窗口大小通知给发送方。发送方的发送窗口取决于接收方的窗口大小和拥塞窗口大小的最小值。TCP会为每一个连接设置一个持续计时器,只要TCP连接的一方收到对方零窗口的通知,就启动持原创 2020-11-29 11:44:14 · 403 阅读 · 0 评论 -
TCP三报文握手和四报文挥手
三报文“握手”TCP规定:SYN=1的报文段不能携带数据\color{red}{不能携带数据}不能携带数据。普通的TCP报文段可以携带数据,但如果不携带数据,则不消耗序号。最初,客户端 和 服务器 都是处于关闭状态\color{red}{关闭状态}关闭状态。TCP服务器进程首先创建传输控制块\color{red}{创建传输控制块}创建传输控制块,用来存储TCP链接中的一些重要信息,之后就准备接受TCP客户进程的连接请求。此时,TCP服务器进程就会进入监听状态\color{red}{监听状态}监听状态原创 2020-06-21 16:05:51 · 3183 阅读 · 0 评论 -
域名系统DNS(Domain Name System)——应用层
DNS服务器作用:DNS服务器中有域名和网络IP地址映射关系的数据库,能通过域名查到其对应的IP地址。DNS服务器规定:因特网采用层次树状的域名结构。域名由若干个分量组成,各分量之间用“点”隔开,分别代表不同的域名。每一级的域名都由英文字母和数字组成,不超过63个字符,不区分大小写字母。级别最低的域名写在最左边,而级别最高的顶级域名写在最右边。完成的域名不超过255个字符各级域名由其上一级的域名管理机构管理,最高的顶级域名则由因特网名称与数字地址分配机构ICANN进行管理。顶级域名原创 2020-06-08 22:21:01 · 673 阅读 · 0 评论 -
万维网WWW——应用层
万维网使用统一资源定位符URL来指明资源位置URL的形式:<协议>://<主机>:<端口>/<路径>HTTP(HyperText Transfet Protocol)HTTP定义了浏览器怎么向万维网请求万维网文档,以及万维网服务器怎样把万维网文档传送给浏览器。HTTP/1.0采用非持续连接方式。在该方式下,每次浏览器要请求一个文件都要与服务器建立TCP连接,当收到响应后就立即关闭连接。每请求一个文档就要有两倍的RTT开销。若一个网页上有很多引用对原创 2020-05-12 22:39:25 · 880 阅读 · 0 评论 -
电子邮件——应用层
学习湖科大老师的视频:https://www.bilibili.com/video/BV1c4411d7jb?p=72 借用了很多截图,侵权必删!!电子邮件系统采用客户/服务器方式。电子邮件系统的三个主要组成构件:用户代理,邮件服务器,以及电子邮件所需的协议。用户代理是用户与电子邮件的接口,又称为电子邮件客户端软件。邮件服务器是电子邮件系统的基础设施。因特网上所有的ISP都有邮件服务器,其功能是发送和接收邮件,同时还要负责维护用户的邮箱。协议包括邮件发送协议(例如SMTP)和邮件读取协议(例如P原创 2020-05-12 22:40:17 · 1098 阅读 · 0 评论 -
文件传送协议FTP——应用层
文件传送协议FTP(File Transfer Protocol)FTP提供交互式的访问,允许客户指明文件的类型与格式(如指明是否使用ASCII码),并允许文件具有存取权限(如访问文件的用户必须经过授权,并输入有效的口令)FTP屏蔽了各计算机系统的细节,因而适用于在异构网络中任意计算机之间传送文件。FTP的基本工作原理:主动模式:FTP 客户 选择一个临时端口号与其建立TCP链接。用于传输命令。FTP服务器监听熟知端口号21这是用于传输控制命令的TCP链接。有数据要传输时,FTP客户通过命原创 2020-05-12 17:37:07 · 525 阅读 · 0 评论 -
域名系统DNS(Domain Name System)——应用层
DNS服务器作用:DNS服务器中有域名和网络IP地址映射关系的数据库,能通过域名查到其对应的IP地址。DNS服务器规定:因特网采用层次树状的域名结构。域名由若干个分量组成,各分量之间用“点”隔开,分别代表不同的域名。每一级的域名都由英文字母和数字组成,不超过63个字符,不区分大小写字母。级别最低的域名写在最左边,而级别最高的顶级域名写在最右边。完成的域名不超过255个字符各级域名由其上一级的域名管理机构管理,最高的顶级域名则由因特网名称与数字地址分配机构ICANN进行管理。顶级域名原创 2020-05-12 16:43:59 · 1327 阅读 · 0 评论