5.9网络协议

由网卡发送数据通过网线进行发送,当网卡接收到信号以后将数据传给内核数据区,然后由操作系统交给相应的进程。

将数据进行发送的时候需要借助于网线实现,这个时候会出现当传输的数据比较远的时候就借助于中继器将信号进行再生扩大,当多个机器需要交流的时候就使用集线器多个点连接(星型),但是数据不能隔离会出现a给b的数据会发给每一个点数据就非常多,所以使用网桥隔离一片区域,使得数据不要发送超出这样的一片区域。后来使用更高级的硬件设备:交换机:网桥+集线器

当然当进行长距离的数据传输的时候,还需要借助于路由器进行转发。

网络协议为什么要分层是因为需要规定每个步骤的条件和要求,可以更好的提高效率!每一层只需要关注自己的事情,应用层只需要知道自己是借助于qq发送一个文本信息,对面的应用层也是知道自己的qq发来了一个文本信息。

用户不能进到服务器中,用户端发送请求,服务器端在相应的ip端口监听接收请求分析请求并且返回相应的信息。

采用多层的方式,例如说是在网络层添加相应的ip头部,路由器每到一个节点就会拆来查看相应的IP地址内容,因为ip地址是按照地区进行划分的,会大致向目的地发。

传输层以及上面的层是端到端的层次就是在逻辑上从这个用户到另外一个用户,只需要在一端进行解析,然后再另外一端进行解析,中间部分都是不会解析的当作01数据。

unix系统底层默认实现tcp/ip实现,cc++程序员主要是关注应用层的协议。

应用层:http,dns,ftp,smtp 传输层:tcp,udp 网络层:ip 

应用层可以自定义新协议,只要保证交流的两端进行数据的交流按照自己认同的方式进行交流就可以。c++程序员有一定的概率会自己写自己的协议。

网络就是获取资源:

资源在哪个地方:URL 资源怎么在网络中进行传输: HTTP  论文的格式:HTML

URL也就是一般说的网址链接。域名-----》ip,如果没有找到响应的的域名对应的ip就找dns的服务器解析。

域名只是和ip对应,但是不包含端口号。

在发送信息的时候将论文以HTML形式发送,通过http协议包装进行发送。其中包括http协议:

请求行,请求头(消息头),空行,正文。

用户发送http请求信息(其实主要是看头部的信息),服务器发送http响应信息

https常用的端口是443端口,http端口是80端口。有时候可能是指明的那就找指明的端口服务。

请求行包含的内容:请求方式, 请求资源, 请求协议

请求方式:主要有GET和POST两种方式,大多数请求是GET,GET常用于获取数据,POST是用于服务器提交数据

还有其他的请求方法,有很多细分的标准方式,但大多都是用get和post涵盖。

服务器不管是谁发的,只看发来的数据是否是符合协议标准。

get请求一般把参数放在资源路径之后,post请求放在请求正文中

语法也可以get参数放在正文,post请求放在路径之后,不符合常理。

所以说登录密码等等都是通过post请求

确定是get还是post请求就是看如果是获取数据就是get,如果是提交数据就是post。一般都是既会提交数据又要获取数据,这个时候就是哪个是主要的点。

一般时候都是获取信息,但是当收藏文章或者放购物车的时候是提交信息。

请求资源中的路径只是一个标记,并不是在目标服务器真的有这样的一个目录。

请求协议

http1.1和http1.0 :http1.1链接以后不要断开,等多次的信息发送完以后才断开,如果是在短时间内频繁发送多次请求性能更好。

在进行发送数据以前需要先进行三次握手和四次挥手使得在链接以前进行握手确认,进行四次挥手确认断开链接。

请求头的信息是客户端给服务器看的。

accept: 大类型/小类型:vedio/mp4 text/txt   权重 q=...

采用直接输入网址发起http请求没有reffer,通过在一个网站中进行跳转到另外一个网页这个时候会携带reffer带的就是原来网页的路径。

http协议是非常灵活的但是tcp,udp不灵活。http中可以有不合实际的信息。

访问一个网站首先是先返回一个html代码,解析代码发现有图片然后就去发起请求然后拿图片以及图片的相关的信息,如果刷新的时候将图片的相关信息发送过去,如果图片的信息没有改变,就不会再返回图片,而是要求用户端从内存中加载。

cookie是一个机器的标识,IP会变化但是cookie发送给服务器的时候,服务器就知道是你。

 post用于指向要访问的目标服务器上的虚拟主机,虽然不同的域名指向相同的ip但还有post可以指明在同一个服务器上的不同虚拟主机。

响应信息和请求信息格式差不多。

响应行最重要的状态码:例如http协议404响应报文的状态段。状态码分为五个段,几百段就是几开头,每个段都有自己的功能。200段表示正常访问,300表示我没有资源但我知道资源在哪,400段状态码表示没有这个资源但服务器是在的。500段(505,507)服务器内部出现错误,一定代码有问题。

因为http协议可以自己写所以可能会出现很多自己不认识的字段。

抓包

抓包可以确定是发送端接收还是接收端抓包有问题,参数对不对,信息对不对等等。

通过分析http一个请求,获取关键信息就叫做抓包

首先检查URL  协议http, 资源路径,参数

请求方式:GET or POST

看看有没有响应,响应状态码参数,响应是不是相关的数据,头部信息一般意义不大

这些如果没有问题很可能是自己的代码有问题。

https:相比于http更安全,因为https是加密的,所以说抓包也是看不懂的。

证书,对称加密,非对称加密。

买证书可以去相应的服务器验证是否安全;对称加密:知道怎么加密就知道怎么解密;

非对称加密:公钥-》加密-》密文,密文-》私钥-》明文。这个过程是不可逆的,所以说即使获得公钥也不能解密。

往往对称加密的效率比较高,所以说一般也是用对称加密来实现。

服务器在现实中几乎没有发起请求的,需要服务器提供数据就是用GET请求

传输层:主要讨论tcp和udp这两个协议

相较于应用层会学习以及自己也可以定义属于自己的协议,但是传输层学习的协议是比较少的,主要是tcp和udp。传输层的头部(固定部分20字节)每个位都有准确的定义,不能随意。

在发送信息的时候是在传输层+端口,在IP层+ip

结合上面的信息,http是在传输层是借助于tcp协议的,这就是在传输的时候需要先进行三次握手,完成以后需要进行四次挥手(前两次挥手表示客户与服务器断开连接,后两次表示服务器与客户端断开链接)。

tcp连接是一个可靠的面向连接的全双工的连接

可靠:三四握手挥手,每次发送信息都有确认信息(可能是累计确认),超时重传快速重传。

确认:可能不会每一个都确认是累计确认,接收窗口中没有按照顺序到达对于中断未到的一段进行反复请求当请求到三次的时候就进行重发。

udp是一个不可靠的连接,是直接放到网络,效率比较高,现在的正确传输率在90%以上。

传输层在理论上是端到端的,但是在现实中并不是端到端的(比较复杂)。

当确认位ACK为0的时候ack确认号是没有意义的。

注意数据比较大的时候,会进行切片发送,并且不是会对于每一片都确认,会进行累计确认的方式,放到缓冲区中。在窗口中收集到了足够的数据的时候,就向上传送。

往往在进行tcp传输的时候,不常用到超时重传但是会用到累计快速重传的方式。因为当一直没有收到其中中断的一段的时候,就不断请求该段,当请求超过三次的时候,就重发。

在客户端和服务器端使用2msl,就是会等待可能出现收不到的情况。谁先挥手谁先等timewait时间

udp并不会在传输层进行切片,因为不能进行拼接,所以最终的切片任务交给网络层。

重要的内容:

请求信息包含四个部分:请求行, 请求头,空行, 正文

请求行:请求方式,请求资源, 请求协议

抓包, 关注重点 , URL域名(ip+端口)看是否发对地方,协议(是否使用正确的协议)

查看状态码,如果500段那么是服务器代码出现问题。查看返回值。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C脚本实现WIncc模拟量趋势窗口弹出

文章目录 前言一、步骤及解析二、运行画面演示三、总结 前言 本文给出了一种基于C脚本实现点击输入输出域对象,弹出对应模拟量趋势窗口的方法。 一、步骤及解析 在Wincc变量管理中,添加两个变量; 示例如下: 将以上两个变量添加到…

小众行业风口:Q1季度擦窗机器人行业线上市场销售数据分析

今天给大家分享一个2024年的小众行业增长风口——擦窗机器人。 作为家居自动化里的重要一员,擦窗机器人可以简称为擦窗神器,是为了解决大户型家庭的外窗清洁痛点而存在。而目前,擦窗机器人行业正在走向成熟,且市场需求量居高不下…

抖店选品都怎么选品?什么样的产品更吸引人,更具有购买力?

大家好,我是电商花花。 抖店选品一直都是我们无货源商家的核心问题,不管是出单、还是爆单,店铺想要有销量的前提下都是选品。 很多人一上来就是就是选品,没有选品经验还瞎选品,结果到最后选了一堆出单的产品&#xf…

[蓝桥杯]真题讲解:AB路线(BFS+分层图)

[蓝桥杯]真题讲解&#xff1a;AB路线&#xff08;BFS分层图&#xff09; 一、视频讲解二、正解代码1、C2、python33、Java 一、视频讲解 [蓝桥杯]真题讲解&#xff1a;AB路线&#xff08;BFS分层图&#xff09; 二、正解代码 1、C #include<bits/stdc.h> #define INF …

BGP(border gateway protocol)边界网关协议初识篇

BGP它是一种路径矢量协议&#xff0c;用于决定数据包在互联网中的最佳路径。 1、工作原理&#xff1a; 自治系统&#xff08;AS&#xff09;间路由: BGP主要用于连接不同自治系统之间的路由器&#xff0c;其中每个自治系统&#xff08;AS&#xff09;代表一组具有共同路由的网…

Python爬虫 【1】 —— 爬虫基础

爬虫基本套路 基本流程 目标数据来源地址结构分析 具体数据在哪&#xff08;网站 还是APP&#xff09;如何展示的数据、 实现构思操刀编码 基本手段 破解请求限制 请求头设置&#xff0c;如&#xff1a;useragent为有效客户端控制请求频率&#xff08;根据实际情境&#xff09…

Metes and Bounds Pro for Mac 激活版:精准数据转换与绘图利器

Metes and Bounds Pro for Mac是一款专为土地测量和边界划定而设计的专业软件&#xff0c;为Mac用户提供了高效、精确的测量工具。其核心功能在于其全面的测量工具和简便的操作流程&#xff0c;能够满足在土地管理、房地产开发、农业规划等领域的多样化需求。 这款软件集合了距…

C++学习第二十八课:C++ 中的智能指针详解

在 C 中&#xff0c;内存管理是每个程序员都需要面对的问题。在处理动态分配的内存时&#xff0c;如果忘记释放内存&#xff0c;可能会导致内存泄漏。为了解决这个问题&#xff0c;C11 引入了智能指针的概念。本文将详细介绍 C 中使用智能指针的方法&#xff0c;并结合实际案例…

天龙怀旧游戏python脚本

设置图&#xff1a; 游戏窗口最大化。 海贼洞这里定位你要回点的定位。 运行bat就行&#xff0c;脚本出错了还是会重新运行脚本&#xff0c;运行自动启动&#xff0c;end暂停脚本&#xff0c;home重新启动脚本 1. 我常用的是内挂回点脚本&#xff0c; 下面都是前台脚本&…

(三)Appdesigner-界面转换及数据导入和保存

提示&#xff1a;文章为系列文章&#xff0c;可以在对应学习专栏里面进行学习。对应资源已上传 目录 前言 一、Appdesigner是什么&#xff1f; 二、界面切换 三、数据导入及保存 &#xff08;一&#xff09;数据导入 &#xff08;二&#xff09;数据保存 总结 前言 Appd…

windows设置Redis服务后台自启动

1.通过CMD命令行工是进入Redis安装目录&#xff0c;将Redis服务注册到 Windows服务中 redis-server.exe --service-install redis.windows.conf --loglevel verbose 2.查看—下Redis服务是否注册 WinR输入services.msc&#xff0c;确定进入&#xff0c;再查找是否有Redis 3.启动…

自动化测试基础 --- Jmeter

前置环境安装 首先我们需要知道如何下载Jmeter 这里贴上下载网站Apache JMeter - Download Apache JMeter 我们直接解压,然后在bin目录下找到jemter.bat即可启动使用 成功打开之后就是这个界面 每次打开可以用这种方式切换成简体中文 或者直接修改properties文件修改对应的语言…

C 语言中怎么产生真正的随机数?

在C语言中&#xff0c;要产生真正的随机数&#xff0c;我们通常使用标准库中的 <stdlib.h> 头文件中提供的随机数生成函数。 这些函数可以生成伪随机数&#xff0c;但它们在一定程度上是随机的&#xff0c;足以满足大多数应用程序的需求。 1. 伪随机数生成函数 C标准库…

《C语言文件处理:从新手到高手的跃迁》

&#x1f4c3;博客主页&#xff1a; 小镇敲码人 &#x1f49a;代码仓库&#xff0c;欢迎访问 &#x1f680; 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&#x1f3fd;留言 &#x1f60d;收藏 &#x1f30f; 任尔江湖满血骨&#xff0c;我自踏雪寻梅香。 万千浮云遮碧…

【计算机毕设】基于SpringBoot的在线拍卖系统 - 免费源码(私信领取)

免费领取源码 &#xff5c; 项目完整可运行 &#xff5c; v&#xff1a;chengn7890 诚招源码校园代理&#xff01; 1. 研究目的 本项目旨在设计并实现一个基于Spring Boot的在线拍卖系统&#xff0c;为用户提供便捷的拍卖服务&#xff0c;实现商品的竞拍和交易功能&#xff0c…

前端 | 数据统计及页面数据展现

文章目录 &#x1f4da;实现效果&#x1f4da;模块实现解析&#x1f407;html&#x1f407;css&#x1f407;javascript &#x1f4da;实现效果 折线图分别展现当前累计单词总数及每篇新增单词数&#xff0c;鼠标悬浮读取具体数值。 数值统计 词云图展现&#xff0c;及点击查看…

在线旅游网站,基于 SpringBoot+Vue+MySQL 开发的前后端分离的在线旅游网站设计实现

目录 一. 前言 二. 功能模块 2.1. 登录界面 2.2. 管理员功能模块 2.3. 用户功能模块 三. 部分代码实现 四. 源码下载 一. 前言 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff0c;旅游网站当然…

Error: Maximum response size reached

错误原因复现 请求下载的文件是4g的&#xff0c;postman报错Error: Maximum response size reached 解决办法 Postman设置请求时长和数据大小 Settings&#xff0c;打开设置面板 postman有默认请求时间&#xff0c;正常的postman请求后端少量数据&#xff0c;返回特别快。但…

美颜滤镜SDK解决方案,稳定可靠,易于集成

高质量的视觉体验已成为企业吸引用户、提升品牌形象的关键&#xff0c;美摄科技凭借其领先的美颜滤镜SDK技术&#xff0c;为企业提供了从人像美颜到多元场景处理的全方位解决方案&#xff0c;助力企业轻松实现视觉升级。 一、强大能力&#xff0c;覆盖多场景 美摄科技美颜滤镜…

洪水仿真模拟(ArcGIS),水利数字孪生新利器

这两天ArcGIS Pro的官方账号释放了一个名为“Flood Simulation in ArcGIS Pro”的洪水模拟功能视频。根据视频详情页的介绍&#xff0c;该洪水仿真模拟功能会作为新功能出现在ArcGIS Pro 3.3中。 由于我目前从事的主要应用方向都是弱GIS的领域&#xff0c;所以我已经很久没有再…