计算机网络-基础概念(HTTP,TPC/IP, DNS,URL)

server/2024/12/19 21:53:33/
http://www.w3.org/2000/svg" style="display: none;">

HTTP不同的版本

  • HTTP0.9于1990年问世,此时HTTP并没有作为正式的标准被建立。
  • HTTP正式被公布是1996年的5月,版本命名为HTTP/1.0。
  • HTTP1.1,1997年1月公布,目前仍然是主流版本的HTTP协议版本。

TCP/IP

通常使用的网络是在TCP/IP协议族的基础上运作的。而HTTP属于它内部的一个子集。

计算机与网络设备需要相互通信,双方就必须基于相同的方法。比如如何探测到通信目标,由那一边先发起通信,使用哪种语言进行通信、怎么结束通信等规则都要提前规定,不同的硬件、操作系统之间的通信所有的一切都需要一种规则。而这种规则就是协议。

把互联网相关联的协议集合起来总称为TCP/IP。也就是TCP/IP是在IP协议通信过程中,使用到的协议族的统称。
TCP/IP分层
https://i-blog.csdnimg.cn/direct/20f990825b4546268dbc1b3ebcf63941.png" alt="在这里插入图片描述" />
数据流转过程:
https://i-blog.csdnimg.cn/direct/0142acbfac07477a9539343b0418812d.png" alt="在这里插入图片描述" />

https://i-blog.csdnimg.cn/direct/153d343abf6b42278a7fefc11c9107c6.png" alt="在这里插入图片描述" />

IP TCP DNS

IP

IP 网际协议位于网络层。IP协议的作用是把各种数据包传给对方。其中两个重要的条件是IP地址和MAC地址。
IP间的通信依赖MAC地址,在网络上通信的双方在同一局域网内的情况是很少的。会利用下一站中转设备的MAC地址来搜索下一个中转目标。会采用ARP(Address Resolution Protocol)。ARP是一种以解析地址的协议,根据通信的IP地址可以反查出对应的MAC地址。
https://i-blog.csdnimg.cn/direct/b85d84b40ad94078bc2137919e31e06e.png" alt="在这里插入图片描述" />

TCP

TCP 位于传输层,可以提供可靠的字节流服务。所谓字节流服务是指,为了方便传输,将大块数据分割成以报文段为单位进行管理。那数据被切分成报文段以后怎能可靠的传输给对方呢?
三次握手应运而生:
在三次握手的过程中使用SYN(synchronize)和ACK(acknowledgement)。
发送端先发送一个带SYN标志的数据包给对方。接受端在收到以后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。足厚发送端在回传一个带ACK标志的数据包,代表握手结束。
若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包。
https://i-blog.csdnimg.cn/direct/8ab1f90b655f4918b0bd16a6c21c7c66.png" alt="在这里插入图片描述" />

DNS

由于IP相对来说不容易记住,因此DNS出现了,用更符合人类的记忆方式。
https://i-blog.csdnimg.cn/direct/70ea379fc03341c2b882e269656b16e0.png" alt="在这里插入图片描述" />

URI和URL
  • URI (Uniform Resource Identifier): 统一资源标识符,用于唯一标识一个资源。它可以是任何类型的资源,如文件、图像、视频等。URI 是一种更通用的概念,它包括了 URL 和 URN(统一资源名称)。
  • URL (Uniform Resource Locator): 统一资源定位符,是一种特殊的 URI,不仅标识了一个资源,还提供了访问该资源的方法(即路径或网络位置)。URL 通常包含协议类型(如 httphttps)、主机名、端口号(可选)、路径、查询参数等。
  • 区别:
    • 所有 URL 都是 URI,但不是所有 URI 都是 URL。
    • URI 可以不包含访问资源的具体方法,而 URL 必须包含。
    • 例如,http://example.com/resource 是一个 URL,也是 URI;而 urn:isbn:0451450523 是一个 URI,但不是 URL,因为它没有指定如何访问资源。

工作流程图

https://i-blog.csdnimg.cn/direct/c2860e2b914b4472b128758b39adac2d.png" alt="在这里插入图片描述" />

参考资料

图解HTTP网络书籍


http://www.ppmy.cn/server/151549.html

相关文章

初识Linux · 网络基础

目录 前言: 初识协议 再识协议 局域网 跨网络传输 前言: 本文作为Linux网络学习的第一篇文章,相对来说概念还是偏多的,甚至于概念让人觉得晦涩,这是非常正常的,那么进入网络部分之前,我们…

uniapp滚动消息列表

两个相同的循环列表&#xff0c;循环滚动 <view class"winners_list uni-flex uni-column" :animation"animationData"><view v-for"(item, index) in winnersList" :key"index" class"li uni-flex uni-column"&g…

WPF+MVVM案例实战与特效(四十二)- 打造炫酷彩虹字控件,让你的应用闪耀起来

文章目录 1、引言2、案例实现1、依赖属性2、代码解释3、转换器实现3、控件使用4、运行效果4、总结1、引言 在WPF 应用程序中,视觉效果往往是吸引用户注意力的关键。一个小小的字体控件,如果能够以彩虹般的色彩展示文本,不仅能让界面更加生动,还能为用户提供独特的交互体验…

探索 HTTP 请求头中的 “Host” 字段及其安全风险

探索 HTTP 请求头中的 “Host” 字段及其安全风险 大家好&#xff0c;今天我们来聊聊 HTTP 请求头中的“Host”字段&#xff0c;以及它的使用方法和安全风险。 什么是Host字段 在 HTTP 请求头中&#xff0c;“Host”字段是一个至关重要的部分。它告诉服务器&#xff0c;我们…

.NET Core 各版本特点、差异及适用场景详解

随着 .NET Core 的不断发展&#xff0c;微软推出了一系列版本来满足不同场景下的开发需求。这些版本随着时间的推移逐渐演变为统一的 .NET 平台&#xff08;从 .NET 5 开始&#xff09;。本文将详细说明每个版本的特点、差异以及适用场景&#xff0c;帮助开发者更好地选择和使用…

在 Linux 下,将 tar 包打包成二进制程序

在 Linux 下&#xff0c;将 tar 包打包成二进制程序通常涉及到创建一个可执行的二进制文件或者一个软件包。以下是几种常用的方法&#xff1a; ### 1. 使用 tar 命令打包文件 你可以使用 tar 命令将文件打包成 .tar、.tar.gz、.tar.bz2 等格式的归档文件&#xff0c;并通过压…

ICCAD 2024新趋势:IP企业携手为汽车和桌面等热点应用打造联合IP解决方案

作者&#xff1a;Imagination Technologies 2024年12月11日-12日&#xff0c;“上海集成电路2024年度产业发展论坛暨中国集成电路设计业展览会&#xff08;ICCAD 2024&#xff09;”在上海圆满落幕&#xff0c;本届大会参与人数超过了7000人&#xff0c;为历届ICCAD大会之最&a…

POSTGRESQL版本测试

POSTGRESQL版本测试 一、测试的原因 近期客户对与数据库的查询性能&#xff0c;提出了较高的要求&#xff0c;前期我们给客户提供的数据库是POSTGRESQL10&#xff0c;既然客户又了新的要求&#xff0c;第一时间想到的就是通过版本的升级来满足客户的要求&#xff0c;这样后期…