【网络】深入浅出了解网络世界

news2024/11/25 22:57:01

HTTP协议

TCP/IP协议族

我们通常使用的网络,是在TCP/IP协议族上运作的。而HTTP协议就是TCP/IP内部的一个子集。

计算机与网络设备之间的通讯需要一定的规则,这种规则就称为协议

TCP/IP就是互联网上各种协议的总称。
在这里插入图片描述

分层管理

TCP/IP 按层次分为四层:应用层、传输层、网络层、数据链路层。

分层的好处:

  1. 如果互联网有某个地方需要改变设计时,只需替换变动的层而不用全部替换。
  2. 设计也变得简单,每层只需完成自己的任务。

应用层

决定了向用户提供应用服务时的通信活动。

协议:

  1. FTP:文件传输协议
  2. DNS:域名系统
  3. HTTP:超文本传输协议

传输层

提供处于网络连接中的两台计算机之间的数据传输。

协议:

  1. TCP:传输控制协议
  2. UDP:用户数据报协议

网络层

用来处理在网络上流动的数据包。(数据包是网络传输的最小数据单位)。网络层规定了通过怎样的传输路线到达对方是计算机并传输数据包。

数据链路层

用来处理连接网络的硬件部分。

通信过程

通过分层的顺序与对方进行通信。

发送端从应用层往下走,接收端则往应用层往上走。
在这里插入图片描述

例如HTTP协议的通信过程

  1. 发送端在应用层发出HTTP请求
  2. 在传输层(TCP协议)把从应用层收到的HTTP请求报文进行分割,并且在各个报文上打上标记序号以及端口号转发给网络层
  3. 网络层增加作为通信目的地的MAC地址后转发给数据链路层。
  4. 接收端在数据链路层接收到数据,按次序向上发送直到应用层

注:发送端层与层传输时,每一层必定打上该层所属的首部信息【也叫封装】;接收端接收时,会一层一层脱掉。

IPTCPDNS

IP

IP网际协议位于网络层

作用:把各种数据包传递给对方

传送的条件:

1️⃣IP地址 :指明节点被分配到的地址(可变换)

2️⃣MAC地址:网卡所属的固定地址(一般不会变)

📌使用ARP协议凭借MAC地址通信

IP之间的通信依赖MAC地址。因为通信的双方在同一局域网的情况是很少的。通常需要多台计算机以及网络设备中转才能连接到对方。而进行中转时,根据下一站网络设备的MAC地址搜索对方。这时使用的协议时ARP协议。

TCP

TCP位于传输层

提供可靠的字节流服务,即确保数据能够达到目标。

字节流:将数据分割成以报文段为单位的数据包

如何确保可靠?

采用三次握手,握手过程中使用TCP标识SYN和ACK

在这里插入图片描述

DNS

DNS是位于应用层的协议

提供域名到IP之间的解析服务

DNS协议通过域名查找IP地址,或者逆向从IP地址反查找域名。

访问一个网站的具体过程

在这里插入图片描述

URI和URL

URI:统一资源标识符,【即由某个协议方案表示的资源定位标识符】

例如,采用HTTP协议时,协议方案就是HTTP,此外还有ftp、mailto、telnet、file

URL:统一资源定位符,表示资源的地点。

URL是URI的子集

URI格式

绝对URI格式:

在这里插入图片描述

  1. 协议:http 或者 https
  2. 登录信息:指定用户名和密码作为从服务器端获取资源时必要登录信息
  3. 服务器地址:地址可以是域名,也可以是172.190.6.2这样的IPV4地址,也可以是[0:0:0:0:0:0:0:1]这样的IPV6地址。
  4. 端口号:http是80,https是443
  5. 带层次的文件路径:指定服务器上的路径来定位特指的资源
  6. 查询字符串:传参
  7. 片段标识符:标记出已获取资源中的子资源。

HTTP协议

HTTP协议用于客户端和服务器端的通信

通过请求和响应的交换达成通信。

请求报文

在这里插入图片描述

包括:

  1. 请求方法
  2. 请求URI
  3. 协议版本
  4. 请求首部字段【可选】
  5. 内容实体

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/534371.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

架构活动中评估需求的五个关注点

从架构活动的整体目标出发,确认需求存在的必要性。很多时候,尤其是大的项目,需求方经常会夹带私货。虽然他们并没有什么恶意,但是这些附加的需求不仅会消耗研发资源,还会增加项目复杂度和规划难度。而最坏的情况&#…

【王道·计算机网络】第四章 网络层【未完】

一、 概述和功能 1.1 网络层功能 主要任务:把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务传输单位:数据报功能: 路由选择与分组转发,即选择最佳路径异构网络互联(依靠路由器)拥塞控制(所有结点都来不…

会议日程——2023第十二届中国PMO大会

2023第十二届中国PMO大会 主题:拥抱变革 展现PMO力量 主办方:PMO评论 签到与入场:人脸识别 时间:6月17-18日 地点:北京蓝调庄园 【邀 请 函】 企业要基业长青就必须持续保持组织活力。企业的内外部环境不会一成不…

Java --- redis实现分布式锁

目录 一、锁的种类 二、分布式锁具备的条件与刚需 三、springbootredisngnix单机实现案例 四、Nginx配置负载均衡 4.1、修改nginx配置文件 4.2、执行启动命令 4.3、启动微服务程序测试 五、使用redis分布式锁 5.1、方法递归重试 5.2、自旋方式 5.3、添加key过期时间&#xff0…

Vue3如何按需引入Element Plus以及定制主题色

1.首先使用指令进行安装 npm install element-plus --save 2.安装按需引入另外两个插件 npm install -D unplugin-vue-components unplugin-auto-import 3.在vite.config.js文件引入以下内容 import { fileURLToPath, URL } from node:urlimport { defineConfig } from vite i…

CloudFlare系列--自定义CDN节点的IP

原文网址:CloudFlare系列--自定义CDN节点的IP_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍CloudFlare如何手动指定CDN为CloudFlare的IP地址。 为什么手动指定CDN IP? 自选节点非常重要,原因如下: 国内访问不同CDN节点的速…

Linux vim光标移动/退出命令/撤退操作/文本查找 等命令大全

1 什么是vim? vim是Linux环境下一款强大、高度可定制的文本编辑工具。能够编辑任何的ASCII格式文件,对内容进行创建、查找、替换、修改、删除、复制、粘贴等操作。编写文件时,无需担心目标文件是否存在,若不存在则会自动在内存中…

老Q魔改MACD:拒绝大幅回撤,威力比原版强太多了!

看过老Q历史文章的股友都知道,MACD是一个非常经典且依旧奋战在第一线的顶流指标。我们之前也目前主流通用的参数版本在沪深300上做了回测,17年来获得了累计365%的收益。 然而,整个沪深300大盘在这17年里也涨了超过300%,也就是说,我们的策略也仅仅比拿着不动好上一丢丢而已…

JDK8中的新特性(Lambda、函数式接口、方法引用、Stream)

文章目录 1. Java8新特性:Lambda表达式1.1 关于Java8新特性简介1.2 冗余的匿名内部类1.3 Lambda 及其使用举例1.4 语法1.5 关于类型推断 2. Java8新特性:函数式(Functional)接口2.1 什么是函数式接口2.2 如何理解函数式接口2.3 举例2.4 Java 内置函数式接…

高压功率放大器在换流阀冷却系统均压电极结垢超声导波中的应用

实验名称:换流阀冷却系统均压电极结垢超声导波检测方法研究 研究方向:无损检测 测试目的: 为了探究超声导波检测的灵敏度,本文构建了换流阀冷却系统均压电极结垢检测模型,详细分析了不同厚度水垢与声波信号的交互过…

【c++】哈希---unordered容器+闭散列+开散列

1.unordered系列关联式容器 在C98中,STL提供了底层为红黑树结构的一系列关联式容器,在查询时效率可达到 logN,即最差情况下需要比较红黑树的高度次,当树中的节点非常多时,查询效率也不理想。最好的查询是,进…

FPGA开发基本流程详解

FPGA是一种可编程逻辑器件,与传统的硬连线电路不同,它具有高度的可编程性和灵活性。FPGA的设计方法包括硬件设计和软件设计两部分,硬件设计包括FPGA芯片电路、存储器、输入输出接口电路等等,软件设计则是HDL程序开发,以…

openCV 第四篇 角点检测、图像特征、图片拼接

本文原本打算直接简单介绍一下harris和sift,之后进行特征匹配,来一波图像拼接。 想来想去还是先介绍下原理吧,虽然没人看QAQ。可以直接点击右侧目录跳转到代码区。 本文可以完成: 角点检测 和 图像特征提取(就几行代码) 以及进…

Win32子窗口创建,子窗口回调函数,消息堆栈,逆向定位子窗口消息处理过程

本专栏上一篇文章中我们讲解了Win32程序入口识别,定位回调函数,具体事件处理的定位,这一章节中我们来讲解一下子窗口的创建,子窗口的回调函数,并且逆向分析子窗口消息处理过程。 文章目录 一.子窗口按钮的创建- 创建子…

charge pump的分析与应用

春节前最后一更,提前祝大家新春快乐,阖家安康,工作顺利! 定义: 电荷泵是利用电容的充放电来实现电压的转换的,输入回路和输出回路轮流导通。通过调节占空比来调节输出电压。 它们能使输入电压升高或降低&…

基于PyQt5连接本地SQLite实现简单人力资源管理系统

人力资源管理系统 使用环境:Python3.86 PyQt5.15.4 sqlite3 记录一下最近学校举办的一个程序设计比赛,题目是实现一个简单的人力资源管理系统,文末有效果展示 我认为程序是面向人类而不是面向机器的,所以我使用了PyQt5封装了一…

SpringCloud源码分析 (Eureka-Server-处理客户端续约请求) (七)

文章目录 1.处理客户端续约请求1.1 InstanceResource.renewLease()1.2 InstanceRegistry.renew()1.3 PeerAwareInstanceRegistryImpl.renew()1.4 AbstractInstanceRegistry.renew()1.6 PeerAwareInstanceRegistryImpl.replicateToPeers()1.7 PeerEurekaNode.headbeat() 1.处理客…

大数据Doris(二十二):Rollup物化索引创建与操作

文章目录 Rollup物化索引创建与操作 一、创建测试表 二、创建Rollup物化索引表

岗位少,竞争激烈,这是今年软件测试就业的真实写照,也是所有岗位的真实写照。

前两天跟一个HR朋友聊天,她表示刚在boss上发布了一个普通测试岗位,不到一小时竟然收到了几百份简历。而且简历质量极高,这是往年不敢想象的。岗位少,竞争激烈,这是今年软件测试就业的真实写照,也是所有岗位…

若依框架快速开发项目(避坑超详细)

若依框架快速开发项目(避坑超详细) 初衷: 若依框架使用及其普遍,是一个非常优秀的开源框架,框架本身的权限系统,字典设置以及相关封装,安全拦截相当完善,本人受益匪浅,学…