计算机网络01

TCP

TCP三次握手,四次挥手

握手目的:初始化Sequence Number的初始值
握手:客户端向服务器发送连接请求,服务器收到连接请求回复客户端确认请求,客户端收到确认请求后确认连接。
计算机网络01
计算机网络01
计算机网络01

TCP和UDP区别

  • TCP面向连接,UDP面向无连接,从单个点向多个点发布信息。
  • TCP利用握手确认和重传机制,提供了可靠性保证,UDP可能会丢失。
  • TCP利用***保证了消息的有序性,UDP不具备。
  • 因为TCP需要做更多操作,所以UDP速度更快。
  • TCP数据头20字节属于重量级;UDP数据头8字节,属于轻量级。
    计算机网络01
    计算机网络01

TCP滑动窗口

计算机网络01
计算机网络01
计算机网络01
计算机网络01

  • 1 窗口大小可动态调整
  • 2 窗口想要滑动必须滑动前元素均已接收ACK
  • 3 可靠性来源:确认重传机制

HTTP

状态码

计算机网络01
计算机网络01

特点

  • 支持客户/服务器模式
  • 简单快速(客户端向服务器请求服务时,只需传送请求方法和路径,请求方法有POST、GET、HEAD、PUT)
  • 灵活(允许传输任意类型的数据对象)
  • 无连接(限制每次连接只处理一个请求,服务器处理完客户端请求并收到应答后就断开连接)
  • 请求/响应
    计算机网络01

在浏览器地址栏键入URL请求

  • 1 浏览器依据URL查询DNS服务器缓存,解析URL域名对应IP地址
  • 2 根据IP地址和对应端口与服务器建立TCP连接
  • 3 浏览器发送HTTP请求到服务器
  • 4 服务器对请求做出相应并返回HTTP报文
  • 5 浏览器收到HTML,解析渲染页面
  • 6 浏览器释放TCP连接

GET和POST区别

  • 1 从HTTP报文层面看,GET请求信息放在URL中,请求信息和URL以问号隔开,请求信息格式为键值对,有长度限制;POST请求信息在报文体中,想获得请求必须解析报文。
  • 2 从数据库层面看,GET请求符合幂等性和安全性,其中幂等性指对数据库进行一次或多次操作时获得的结果一致,安全性指对数据库的操作没有改变数据库的数据;POST不符合这两个特性。
  • 3 其次,GET请求的一大优点是可以被缓存、存储,减少web服务器的负担,POST不行。

Cookie和Session区别

计算机网络01

  • session实现:1)使用cookie实现;2)使用URL回写实现

HTTP与HTTPS区别

总体来说
计算机网络01

  • 1 从结构上来看,HTTPS较HTTP多了SSL/TLS层
    计算机网络01
  • 加密算法
    计算机网络01
  • 非对称加密:公钥公开,私钥保密,性能较低,安全性超强,加密长度有限,比如区块链加密。
  • 哈希算法如MD5
  • 数据签名:在数据后面加上一段内容
    计算机网络01

socket原理

首先ServerSocket将在服务端监听某个端口,当发现客户端有Socket来试图连接它时,它会accept该Socket的连接请求,同时在服务端建立一个对应的Socket与之进行通信。