计算机网络01
文章目录
TCP
TCP三次握手,四次挥手
握手目的:初始化Sequence Number的初始值
握手:客户端向服务器发送连接请求,服务器收到连接请求回复客户端确认请求,客户端收到确认请求后确认连接。
TCP和UDP区别
- TCP面向连接,UDP面向无连接,从单个点向多个点发布信息。
- TCP利用握手确认和重传机制,提供了可靠性保证,UDP可能会丢失。
- TCP利用***保证了消息的有序性,UDP不具备。
- 因为TCP需要做更多操作,所以UDP速度更快。
- TCP数据头20字节属于重量级;UDP数据头8字节,属于轻量级。
TCP滑动窗口
- 1 窗口大小可动态调整
- 2 窗口想要滑动必须滑动前元素均已接收ACK
- 3 可靠性来源:确认重传机制
HTTP
状态码
特点
- 支持客户/服务器模式
- 简单快速(客户端向服务器请求服务时,只需传送请求方法和路径,请求方法有POST、GET、HEAD、PUT)
- 灵活(允许传输任意类型的数据对象)
- 无连接(限制每次连接只处理一个请求,服务器处理完客户端请求并收到应答后就断开连接)
- 请求/响应
在浏览器地址栏键入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区别
- session实现:1)使用cookie实现;2)使用URL回写实现
HTTP与HTTPS区别
总体来说
- 1 从结构上来看,HTTPS较HTTP多了SSL/TLS层
- 加密算法
- 非对称加密:公钥公开,私钥保密,性能较低,安全性超强,加密长度有限,比如区块链加密。
- 哈希算法如MD5
- 数据签名:在数据后面加上一段内容
socket原理
首先ServerSocket将在服务端监听某个端口,当发现客户端有Socket来试图连接它时,它会accept该Socket的连接请求,同时在服务端建立一个对应的Socket与之进行通信。