Java找工作必备知识——day01计算机网络必备知识

Posted 结构化思维wz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java找工作必备知识——day01计算机网络必备知识相关的知识,希望对你有一定的参考价值。

计算机网络必备知识

1.分层结构

在这里插入图片描述

⭐️五层协议

  • 应用层 :为特定应用程序提供数据传输服务,例如 HTTP、DNS 等协议。数据单位为报文。
  • 传输层 :为进程提供通用数据传输服务。由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议。运输层包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报文段;用户数据报协议 UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报。TCP 主要提供完整性服务,UDP 主要提供及时性服务。
  • 网络层 :为主机提供数据传输服务。而传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的报文段或者用户数据报封装成分组。
  • 数据链路层 :网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧。
  • 物理层 :考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异。

⭐️ OSI

其中表示层和会话层用途如下:

  • 表示层 :数据压缩、加密以及数据描述,这使得应用程序不必关心在各台主机中数据内部格式不同的问题。
  • 会话层 :建立及管理会话。

五层协议没有表示层和会话层,而是将这些功能留给应用程序开发者处理。

⭐️TCP/IP

它只有四层,相当于五层协议中数据链路层和物理层合并为网络接口层。

TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者网络接口层。


2.TCP/UDP

🌗 区别

  • TCP 是面向连接的,UDP 是面向无连接的
  • UDP程序结构较简单
  • TCP 是面向字节流的,UDP 是基于数据报的
  • TCP 保证数据正确性,UDP 可能丢包
  • TCP 保证数据顺序,UDP 不保证

🤒 面向连接

在互通之前,面向连接的协议会先建立连接,如 TCP 有三次握手,而 UDP 不会

🤒 TCP 为什么是可靠连接

  • 通过 TCP 连接传输的数据无差错,不丢失,不重复,且按顺序到达。
  • TCP 报文头里面的序号能使 TCP 的数据按序到达
  • 报文头里面的确认序号能保证不丢包,累计确认及超时重传机制
  • TCP 拥有流量控制及拥塞控制的机制

🚜理解:

TCP 和 UDP 是传输层的两个协议

  • UDP 快! 沟通简单,轻信他人,谁都可以给他传数据,它也可以给任何人转数据,不会根据网络情况变通(丢包了,还是该怎么发怎么发);常应用于直播,实时游戏,物联网。
  • TCP包头结构复杂,总结来说就是可靠!

🚆 TCP的三次握手

通俗易懂的理解方式:

TCP的建立连接称为三次握手

👦你好

​ ---------------------- 👧 你好,小帅,我是小美

👦 你好,小美

🚆 TCP的四次握手

断开连接,也被称为四次握手

👦小美,我数据发完了

​ --------------------------------------------👧知道了,小帅,稍等

小美可能还有数据没发完,要等小美主动

------------------------------------------- ​ 👧 小帅,那我们今天就到这啦

👦好的,小美,拜拜


3.HTTP/HTTPS

🌓区别

HTTP 有以下安全性问题:

  • 使用明文进行通信,内容可能会被窃听;
  • 不验证通信方的身份,通信方的身份有可能遭遇伪装;
  • 无法证明报文的完整性,报文有可能遭篡改。

HTTPS 并不是新协议,而是让 HTTP 先和 SSL(Secure Sockets Layer)通信,再由 SSL 和 TCP 通信,也就是说 HTTPS 使用了隧道进行通信。

通过使用 SSL,HTTPS 具有了加密(防窃听)、认证(防伪装)和完整性保护(防篡改)。

在这里插入图片描述

  • https协议需要到ca机构申请ssl证书(如沃通CA),另外沃通CA还提供3年期的免费ssl证书,高级别的ssl证书需要一定费用。
  • http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
  • http和https使用的是完全不同的连接方式,用的端口也不一样,http是80端口,https是443端口。
  • http的连接很简单,是无状态的;https协议是由ssl+http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

⭐️无状态:

无状态是指协议对于客户端的操作没有状态记忆。如果后续处理相同的请求,则它必须重传,这样可能导致每次连接传送的数据量增大,比如访问一个网站需要反复进行登录操作

🌓长链接和短连接

短连接的操作步骤是:
建立连接——数据传输——关闭连接...建立连接——数据传输——关闭连接
长连接的操作步骤是:
建立连接——数据传输...(保持连接)...数据传输——关闭连接

⭐️状态码

状态码类别含义
1XXInformational(信息性状态码)接收的请求正在处理
2XXSuccess(成功状态码)请求正常处理完毕
3XXRedirection(重定向状态码)需要进行附加操作以完成请求
4XXClient Error(客户端错误状态码)服务器无法处理请求
5XXServer Error(服务器错误状态码)服务器处理请求出错

🍸cookie,session,token的区别

1️⃣ cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。

cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。

2️⃣ session 从字面上讲,就是会话。这个就类似于你和一个人交谈,你怎么知道当前和你交谈的是张三而不是李四呢?对方肯定有某种特征(长相等)表明他就是张三。

session 也是类似的道理,服务器要知道当前发请求给自己的是谁。为了做这种区分,服务器就要给每个客户端分配不同的“身份标识”,然后客户端每次向服务器发请求的时候,都带上这个“身份标识”,服务器就知道这个请求来自于谁了。
服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后session会被销毁。这种用户信息存储方式相对cookie来说更安全,可是session有一个缺陷:如果web服务器做了负载均衡,那么下一个操作请求到了另一台服务器的时候session会丢失。

3️⃣Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。

4.URL和URI

URL( U niform Resource Locator,统一资源定位符)来定位资源,它是 URI(Uniform Resource Identifier,统一资源标识符)的子集,URL 在 URI 的基础上增加了定位能力。URI 除了包含 URL,还包含 URN(Uniform Resource Name,统一资源名称),它只是用来定义一个资源的名称,并不具备定位该资源的能力。

在这里插入图片描述

开一个新的专题来总结java程序员基本的知识体系结构:
总结急头白脸找工作必备的知识:
在这里插入图片描述

以上是关于Java找工作必备知识——day01计算机网络必备知识的主要内容,如果未能解决你的问题,请参考以下文章

Java找工作必备知识——day04万字SQL复习

Java找工作必备知识——day03MySQL索引原理

Java找工作必备知识——day05事务详解(小王,小刘情景在线解释事务的属性)

2021Java开发工程师必备知识,Java后端学习主流知识学习系列(建议先收藏)

学习Java必备的基础知识打卡12.19,要想学好必须扎实基本功(⭐建议收藏)#yyds干货盘点#

学习Java必备的基础知识打卡12.23,要想学好必须扎实基本功(⭐建议收藏)#yyds干货盘点#