计算机网络

2020/1/1

点击勘误issues (opens new window),哪吒感谢大家的阅读

# 计算机网络

# 在浏览器地址栏键入URL

1.DNS解析:浏览器会依据URL逐层查询DNS服务器缓存,解析URL中的域名对应的IP地址,DNS缓存从近到远依次是浏览器缓存、系统缓存、路由器缓存、IPS服务器缓存、域名服务器缓存、顶级域名服务器缓存。

从哪个缓存找到对应的IP直接返回,不再查询后面的缓存。

2.TCP连接:结合三次握手

3.发送HTTP请求:浏览器发出读取文件的HTTP请求,该请求发送给服务器

4.服务器处理请求并返回HTTP报文:服务器对浏览器请求做出响应,把对应的带有HTML文本的HTTP响应报文发送给浏览器

5.浏览器解析渲染页面

6.连接结束:浏览器释放TCP连接,该步骤即四次挥手。

第5步和第6步可以认为是同时发生的,哪一步在前没有特别的要求

# Cookie和Session

Session 是基于Cookie 实现的另一种记录服务端和客户端会话状态的机制。

Session 是存储在服务端,而 SessionId 会被存储在客户端的 Cookie 中。

# Session 的认证过程:

客户端第一次发送请求到服务端,服务端根据信息创建对应的 Session,并在响应头返回 SessionID

客户端接收到服务端返回的 SessionID 后,会将此信息存储在 Cookie 上,同时会记录这个 SessionID 属于哪个域名

当客户端再次访问服务端时,请求会自动判断该域名下是否存在 Cookie 信息,如果有则发送给服务端,服务端会从 Cookie 中拿到 SessionID,再根据 SessionID 找到对应的 Session,如果有对应的 Session 则通过,继续执行请求,否则就中断

# Cookie和Session的区别

安全性,因为 Cookie 可以通过客户端修改,而 Session 只能在服务端设置,所以安全性比 Cookie 高,一般会用于验证用户登录状态

适用性,Cookie 只能存储字符串数据,而 Session 可以存储任意类型数据

有效期,Cookie 可以设置任意时间有效,而 Session 一般失效时间短

# 非对称加密

非对称加密算法,它需要两个密钥,一个称为 公开密钥 (public key),即 公钥,另一个称为 私有密钥 (private key),即 私钥。

因为 加密 和 解密 使用的是两个不同的密钥,所以这种算法称为 非对称加密算法。

如果使用 公钥 对数据 进行加密,只有用对应的 私钥 才能 进行解密。

如果使用 私钥 对数据 进行加密,只有用对应的 公钥 才能 进行解密。

例子:甲方生成 一对密钥 并将其中的一把作为 公钥 向其它人公开,得到该公钥的 乙方 使用该密钥对机密信息 进行加密 后再发送给甲方,甲方再使用自己保存的另一把 专用密钥 (私钥),对 加密 后的信息 进行解密。

# 对称加密

在 对称加密算法 中,使用的密钥只有一个,发送和接收双方都使用这个密钥对数据进行 加密 和 解密。

数据加密过程:在对称加密算法中,数据发送方 将 明文 (原始数据) 和 加密密钥 一起经过特殊 加密处理,生成复杂的 加密密文 进行发送。

数据解密过程:数据接收方 收到密文后,若想读取原数据,则需要使用 加密使用的密钥 及相同算法的 逆算法 对加密的密文进行解密,才能使其恢复成 可读明文。

加密算法分对称加密 和 非对称加密,其中对称加密算法的加密与解密密钥相同,非对称加密算法的加密密钥与解密密钥不同,此外,还有一类不需要密钥的散列算法。

常见的 对称加密 算法主要有 DES、3DES、AES 等,常见的 非对称算法 主要有 RSA、DSA 等,散列算法 主要有 SHA-1、MD5 等。

# 报文段

TCP虽面向字节流,但传送的数据单元为报文段

报文段 = 首部 + 数据2部分

TCP的全部功能体现在它首部中各字段的作用

首部前20个字符固定、后面有4n个字节是根据需而增加的选项 故 TCP首部最小长度 = 20字节

上次更新: 2024/12/10 06:46:48