计算机网络的一些常见知识点

计算机网络的一些常见知识点

传输层:TCP 和 UDP

1、三次握手。

暂略。

2、四次挥手。

暂略。

3、tcp 与 udp 区别。

  • TCP 协议是面向连接;UDP 协议采用无连接,即 UDP 发送数据之前不需要建立连接。
  • TCP 协议可靠;UDP 协议不可靠,UDP 接收方收到报文后,不需要给出任何确认。
  • TCP 只支持点对点通信;UDP 支持一对一、一对多、多对一、多对多。
  • TCP 是面向字节流的;UDP 是面向报文的。面向字节流是指发送数据时以字节为单位,一个数据包可以拆分成若干组进行发送,而 UDP 一个报文只能一次发完。
  • TCP 有拥塞控制机制,UDP 没有。网络出现的拥塞不会使源主机的发送速率降低,这对某些实时应用是很重要的,比如媒体通信,游戏。
  • TCP 首部开销(20 字节)比 UDP 首部开销(8 字节)要大。
  • UDP 的主机不需要维持复杂的连接状态表。
  • TCP 协议的发送方要确认接收方是否收到数据段(3 次握手协议)。
  • TCP 协议采用窗口技术和流控制。
  • 应用场景:对某些实时性要求比较高的情况,选择 UDP,比如游戏,媒体通信,实时视频流(直播),即使出现传输错误也可以容忍;其它大部分情况下,HTTP 都是用 TCP,因为要求传输的内容可靠,不出现丢失。

4、HTTP 可以使用 UDP 吗?

HTTP 不可以使用 UDP,HTTP 需要基于可靠的传输协议,而 UDP 不可靠。

应用层:HTTP 与 HTTPS

1、http 与 https 区别。

  • 端口不同:HTTP 使用的是 80 端口,HTTPS 使用 443 端口;
  • HTTP(超文本传输协议)信息是明文传输,HTTPS 运行在 SSL(Secure Socket Layer)之上,添加了加密和认证机制,更加安全;
  • HTTPS 由于加密解密会带来更大的 CPU 和内存开销;
  • HTTPS 通信需要证书,一般需要向证书颁发机构(CA)购买。

2、http 有哪些请求方法。

  • get:获取资源。
  • post:传输实体主体。POST 主要用来传输数据,而 GET 主要用来获取资源。
  • put:上传文件。
  • delete:删除文件。

3、get 和 post 有何区别。

  • GET 是幂等的,即读取同一个资源,总是得到相同的数据,POST 不是幂等的;
  • GET 一般用于从服务器获取资源,而 POST 有可能改变服务器上的资源;
  • 请求形式上:GET 请求的数据附在 URL 之后,在 HTTP 请求头中;POST 请求的数据在请求体中;
  • 安全性:GET 请求可被缓存、收藏、保留到历史记录,且其请求数据明文出现在 URL 中。POST 的参数不会被保存,安全性相对较高;
  • GET 只允许 ASCII 字符,POST 对数据类型没有要求,也允许二进制数据;
  • GET 的长度有限制(操作系统或者浏览器),而 POST 数据大小无限制。

4、Session 与 Cookie 的区别。

  • Session 是服务器端保持状态的方案,Cookie 是客户端保持状态的方案;
  • Cookie 保存在客户端本地,客户端请求服务器时会将 Cookie 一起提交;Session 保存在服务端,通过检索 Sessionid 查看状态。保存 Sessionid 的方式可以采用 Cookie,如果禁用了 Cookie,可以使用 URL 重写机制(把会话 ID 保存在 URL 中);
  • Cookie 只能存储 ASCII 码字符串,而 Session 则可以存储任何类型的数据,因此在考虑数据复杂性时首选 Session;
  • Cookie 存储在浏览器中,容易被恶意查看。

5、http 状态码

  • 2xx 状态码:成功。200 OK。
  • 3xx 状态码:重定向。
    • 301 永久重定向;
    • 302 暂时重定向。
  • 4xx 状态码:客户端错误,服务器无法处理请求。
    • 400 Bad Request 请求报文中存在语法错误;
    • 401 Unauthorized 发送的请求需要有认证信息;
    • 403 Forbidden 请求被拒绝;
    • 404 Not Found。
  • 5xx 状态码:服务端错误,服务器处理请求出错。
    • 500 服务器内部错误,服务器正在执行请求时发生错误;
    • 501 服务不可用,服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。

6、OSI(Open System Interconnect,开放式系统互联)七层模型。

  • 应用层:为应用程序提供服务。
  • 表示层:数据格式转化、数据加密。
  • 会话层:建立、管理和维护会话。
  • 传输层:建立、管理和维护端到端的连接。
  • 网络层:IP 选址及路由选择。
  • 数据链路层:提供介质访问和链路管理。
  • 物理层:物理层。

7、TCP/IP 五层模型。

  • 应用层:对应 OSI 中应用层、表示层、会话层。协议:HTTP、FTP、DNS、POP3、SMTP 等。
  • 传输层:四层交换机、四层路由器。TCP、UDP 协议。
  • 网络层:路由器、三层交换机。协议:IP、RIP。
  • 数据链路层:网桥、以太网交换机、网卡。协议:ARP。
  • 物理层:中继器、集线器、双绞线。

加密

1、对称密钥加密。

对称密钥加密(Symmetric-Key Encryption),加密和解密使用同一密钥。

  • 优点:运算速度快;
  • 缺点:无法安全地将密钥传输给通信方。

2、非对称密钥加密。

非对称密钥加密,又称公开密钥加密(Public-Key Encryption),加密和解密使用不同的密钥。

  • 优点:可以更安全地将公开密钥传输给通信发送方;
  • 缺点:运算速度慢。

3、HTTPS 采用的加密方式。

HTTPS 采用混合的加密机制:

  • 使用非对称密钥加密方式,传输对称密钥加密方式所需要的 Secret Key,从而保证安全性;
  • 获取到 Secret Key 后,再使用对称密钥加密方式进行通信,从而保证效率。

参考

  • https://github.com/wolverinn/Waking-Up/blob/master/Computer%20Network.md
  • https://github.com/CyC2018/CS-Notes/blob/master/notes/HTTP.md

未完待续…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值