计算机网络

目录

背景

在开发过程中,开发人员需要利用计算机网络进行代码的编写、测试、部署和维护。

步骤

宏观

关于计算机网络的学习,在开发过程中,开发人员需要利用计算机网络进行代码的编写、测试、部署和维护。我们可以从这张图入手将所有的相关知识连起来。

DNS 解析:浏览器发起一个 DNS 请求到 DNS 服务器,将域名解析为服务器的 IP 地址。

TCP 连接:浏览器通过解析得到的 IP 地址与服务器建立 TCP 连接(通常是通过 443 端口进行 SSL 加密的 HTTPS 连接)。这一步涉及到 TCP 的三次握手过程,确保双方都准备好进行数据传输。

发送 HTTP 请求:浏览器构建 HTTP 请求消息,包括请求行(如 GET / HTTP/1.1)、请求头(包含用户代理、接受的内容类型等信息)和请求体(如果有);将请求发送到服务器。

服务器处理请求:服务器接收到 HTTP 请求后,根据请求的资源路径,经过后端处理(可能包括数据库查询等),生成 HTTP 响应消息;响应消息包括状态行(如 HTTP/1.1 200 OK)、响应头(内容类型、缓存控制等信息)和响应体(请求的资源内容)。

浏览器接收 HTTP 响应:浏览器接收到服务器返回的 HTTP 响应数据,开始解析响应体中的 HTML 内容;然后构建 DOM 树、解析 CSS 和 JavaScript 文件等,最终渲染页面。

断开连接:TCP 四次挥手,连接结束

微观

DNS


本地 DNS 服务器向根域名服务器发送请求,根域名服务器返回负责com的顶级域名服务器的 IP 地址的列表。

本地 DNS 服务器再向其中一个负责com的顶级域名服务器发送一个请求,返回负责baidu.com的权限域名服务器的 IP 地址列表。

本地 DNS 服务器再向其中一个权限域名服务器发送一个请求,返回www.baidu.com所对应的 IP地址,

TCP

是什么

TCP(传输控制协议)的三次握手机制是一种用于在两个 TCP 主机之间建立一个可靠的连接的过程。这个机制确保了两端的通信是同步的,并且在数据传输开始前,双方都准备好了进行通信。

为什么是三次握手

想象河边两个人的情况,如果不是三次握手挥手啥情况:

为了防止服务器一直等,等到黄花菜都凉了。

为了防止客户端已经失效的连接请求突然又传送到了服务器。

为什么是四次挥手

关闭连接时,客户端向服务端发送 FIN 时,仅仅表示客户端不再发送数据了但是还能接收数据。

服务端收到客户端的 FIN 报文时,先回一个 ACK 应答报文,而服务端可能还有数据需要处理和发送,等服务端不再发送数据时,才发送 FIN 报文给客户端来表示同意现在关闭连接。

可靠性

HTTP

这个环节就和我们真实发请求脱不开干系了,它本身包含请求头和响应体。以及在真实发请求的时候可以会遇见的一些问题,如安全问题如何解决。

请求头和响应头

构成

请求类型

响应

HTTP和HTTPS
Cookie和Session

存储位置不一样,Cookie 保存在客户端,Session 保存在服务器端。

存储数据类型不一样,Cookie 只能保存 ASCII,Session 可以存任意数据类型,一般情况下我们可以在 Session 中保持一些常用变量信息,比如说 UserId 等。

有效期不同,Cookie 可设置为长时间保持,比如我们经常使用的默认登录功能,Session 一般有效时间较短,客户端关闭或者 Session 超时都会失效。

隐私策略不同,Cookie 存储在客户端,比较容易遭到不法获取,早期有人将用户的登录名和密码存储在 Cookie 中导致信息被窃取;Session 存储在服务端,安全性相对 Cookie 要好一些。

存储大小不同, 单个 Cookie 保存的数据不能超过 4K,Session 可存储数据远高于 Cookie。

IP

讲述了是什么,为什么以及多个在一起应该怎么用呢???关于ip我们可以延伸出网络的七层的概念,以便进行拓展。

是什么

IP 协议(Internet Protocol)又被称为互联网协议,是支持网间互联的数据包协议,工作在网际层,主要目的就是为了提高网络的可扩展性。

说下 ARP 协议的工作过程

ARP ip 都是网络层的东西。

ARP(Address Resolution Protocol,地址解析协议)是网络通信中的一种协议,主要目的是将网络层的 IP 地址解析为链路层的 MAC 地址。

①、ARP 请求

当主机 A 要发送数据给主机 B 时,首先会在自己的 ARP 缓存中查找主机 B 的 MAC 地址。

如果没有找到,主机 A 会向网络中广播一个 ARP 请求数据包,请求网络中的所有主机告诉它们的 MAC 地址;这个请求包含了请求设备和目标设备的 IP 和 MAC 地址。

②、ARP 应答

网络中的所有主机都会收到这个 ARP 请求,但只有主机 B 会回复 ARP 应答,告诉主机 A 自己的 MAC 地址。

并且主机 B 会将主机 A 的 IP 和 MAC 地址映射关系缓存到自己的 ARP 缓存中,以便下次通信时直接使用。

③、更新 ARP 缓存

主机 A 收到主机 B 的 ARP 应答后,也会将主机 B 的 IP 和 MAC 地址映射关系缓存到自己的 ARP 缓存中。

主机之间ping

ICMP(Internet Control Message Protocol) ,网际控制报文协议。

①、当执行 Ping 命令,如ping javabetter.cn,Ping 首先解析域名获取 IP 地址,然后向目标 IP 发送一个 ICMP Echo Request 消息。

②、当目标 IP 收到 ICMP Echo Request 消息后,它会生成一个 ICMP Echo Reply 消息并返回,即 Ping 响应消息。

③、发起 Ping 命令的设备接收到 ICMP Echo Reply 消息后,计算并显示从发送 Echo Request 到接收到 Echo Reply 的时间(通常称为往返时间 RTT,Round-Trip Time),以及可能的丢包情况。

Ping 通常会发送多个请求,以便提供平均响应时间和丢包率等信息,以便我们了解网络连接的质量。

总结

计算机网络可以有多个维度进行学习,按照层进行学习,或者按照请求发送的步骤进行学习都是可以的,重点是要将所有知识有效的串联起来。

相关推荐
江梦寻4 小时前
思科模拟器路由器配置实验
开发语言·网络·网络协议·学习·计算机网络
运维小文5 小时前
服务器硬件介绍
运维·服务器·计算机网络·缓存·硬件架构
摘星星ʕ•̫͡•ʔ5 小时前
计算机网络 第二章:物理层
网络·计算机网络
亚力山大抵6 小时前
实验5:网络设备发现、管理和维护
计算机网络·思科·思科实验
向懒羊羊学习的大猫15 小时前
【专题】计算机网络之网络层
计算机网络
co0t16 小时前
计算机网络(11)和流量控制补充
服务器·网络·计算机网络
Li_03040616 小时前
Java第十四天(实训学习整理资料(十三)Java网络编程)
java·网络·笔记·学习·计算机网络
QQ_7781329741 天前
密码学在网络安全中的应用
网络·计算机网络
QQ_7781329741 天前
利用编程语言和脚本编写技术,实现自动化渗透测试和安全工具的开发
网络·计算机网络
Michael_Good1 天前
【计算机网络】设备如何监听 ARP 请求广播
计算机网络