计算机网络

目录

背景

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

步骤

宏观

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

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

总结

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

相关推荐
ZachOn1y4 小时前
计算机网络:应用层 —— 动态主机配置协议 DHCP
网络·计算机网络·应用层·dhcp·408考研
苏苏大大7 小时前
【八股】计算机网络
网络·计算机网络
听风吹等浪起13 小时前
计算机网络基础杂谈(局域网、ip、子网掩码、网关、DNS)
网络协议·tcp/ip·计算机网络·智能路由器
菠菠萝宝15 小时前
【Java八股文】08-计算机网络面试篇
java·计算机网络·http·面试·https·udp·tcp
菜萝卜子1 天前
【计算机网络】数据链路层数据帧(Frame)格式
网络·计算机网络
网络安全筑盾者-燕子1 天前
计算机网络-OSI七层参考模型与数据封装,网络安全零基础入门到精通实战教程!
网络·计算机网络·安全·web安全·网络安全·osi
levitgu2 天前
西电B测-计算机网络综合实验(含验收问题)
网络协议·计算机网络·华为·docker·ensp·virtualbox·西电
xiaohiiii2 天前
2012年下半年软件设计师上午题知识点及其详细解释(附真题及答案解析)
运维·服务器·数据库·计算机网络·职场和发展·软件工程
tian-ming3 天前
计算机网络(4)TCP断开
网络·tcp/ip·计算机网络
菜萝卜子4 天前
【计算机网络】传输层数据段格式
网络·tcp/ip·计算机网络