当前位置: 首页 > news >正文

【计算机网络】分层模型和应用协议

网络分层模型和应用协议

1. 分层模型

1.1 五层网络模型

网络要解决的问题是:两个程序之间如何交换数据

img

四层?五层?七层?

img

2. 应用层协议

2.1 URL

URL(uniform resource locator,统一资源定位符)用于定位网络服务

img

  • 当协议是http端口为80时,端口可以省略
  • 当协议是https端口为443时,端口可以省略
  • schemadomainpath是必填的,其他的根据具体的要求填写

2.2 HTTP

超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个广泛运用于互联网的应用层协议。

该协议包含了传递信息的模式和格式。

2.2.1 传递信息的模式

HTTP使用了一种极为简单的消息传递模式,「请求-响应」模式。发起请求的称之为客户端,接收请求并完成响应的称之为服务器。「请求-响应」完成后,一次交互结束。

2.2.2 传递信息的格式
请求行
请求头请求体

举个例子:

安装插件:REST Clinet

点击 Send Request,发送请求,然后可以查看响应的响应行,响应头和响应体。

在这里插入图片描述

分析关键信息:

  1. 常见的请求方法有:
  • GET:获取
  • POST:提交
  • PUT:修改
  • DELETE:删除

关于请求方法的协议原文见 HTTP/1.1规范RFC7231-Chapter4

  1. 请求路径

    path + query

  2. 协议

  3. 请求头

    Host标注了URL地址中的Domain + Port ,比如:Host: www.taobao.com

    Content-type指出客户端给服务器的请求体格式,比如:Content-Type: application/json`。

  4. 请求体

    比如:

    Content-Type: application/x-www-form-urlencodedloginId=admin&loginPwd=123123
    
    Content-Type: application/json{ "loginId": "admin", "loginPwd": "123123" }
    
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryraPtlntBIqy4X2Ho------WebKitFormBoundaryraPtlntBIqy4X2Ho
    Content-Disposition: form-data; name="loginId"admin
    ------WebKitFormBoundaryraPtlntBIqy4X2Ho
    Content-Disposition: form-data; name="loginPwd"123456
    ------WebKitFormBoundaryraPtlntBIqy4X2Ho--
    
  5. 响应码

    img

    这是响应码一般情况,但实际情况还要看公司后端人为决定。

    常见的状态码有:

    1. 200 OK:一切正常。

    2. 301 Moved Permanently:资源已被永久重定向。

      你的请求我收到了,但是你要的东西不在这个地址了,已经永远的把它移动到了一个新的地址,麻烦你请求新的地址,地址我放到了响应头的Location中了

      举个例子:www.douyutv.com 重定向到 www.douyu.com。

    3. 302 Found:资源已被临时重定向。

      你的请求我收到了,但是你要的东西不在这个地址了,我临时的把它移动到了一个新的地址,麻烦你取请求新的地址,地址我放到了请求头的Location中了

      举个例子:国内 bing 的重定向(不会还有人不知道自己一直访问的是 cn.bing.com,而不是 www.bing.com,不会吧不会吧~~~)

      在这里插入图片描述

    4. 304 Not Modified:文档内容未被修改。

      你的请求我收到了,你要的东西跟之前是一样的,没有任何的变化,所以我就不给你结果了,你自己就用以前的吧。啥?你没有缓存以前的内容,关我啥事

    5. 400 Bad Request:语义有误,当前请求无法被服务器理解。

    6. 403 Forbidden:服务器拒绝执行。

    7. 404 Not Found:资源不存在。

    8. 500 Internal Server Error:服务器内部错误。

  6. 响应头 - Content-Type

    Content-Type标注了附带的响应体是什么格式。

    常见的值有:

    1. text/plain: 普通的纯文本
    2. text/html:html文档
    3. text/javascriptapplication/javascript:js代码
    4. text/css:css代码
    5. image/jpeg:jpg图片
    6. attachment:附件
    7. 其他MIME类型

相关文章:

【计算机网络】分层模型和应用协议

网络分层模型和应用协议 1. 分层模型 1.1 五层网络模型 网络要解决的问题是:两个程序之间如何交换数据。 四层?五层?七层? 2. 应用层协议 2.1 URL URL(uniform resource locator,统一资源定位符&#…...

Python框架之Flask入门和视图

一、Flask入门和视图 需要安装Pycharm专业版 1. Flask简介 Python后端的2个主流框架 Flask 轻量级框架Django 重型框架 Flask是一个基于Python实现的web开发微框架 官方文档:https://flask.palletsprojects.com/ 中文文档:https://dormousehole.readthe…...

streamWriter.WriteLine

streamWriter.WriteLine写入文件有回车行 using (System.IO.StreamWriter streamWriter new System.IO.StreamWriter("D:\123.txt", false, System.Text.Encoding.Default)) { streamWriter.Write(str.Replace("…...

一键添加色彩变幻效果,视频剪辑从未如此简单!

在视频制作过程中,给视频添加特效是必不可少的环节。而其中,色彩变幻效果作为一种常用的特效,能够为视频增添独特的氛围和视觉冲击力。然而,对于许多初学者来说,如何批量给视频添加色彩变幻效果特效功能却是一个难题。…...

Linux的简介和环境搭建

简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个…...

你看现在的程序员,是怎么解bug的

大家好,我是伍六七。 干程序员的都会碰到各种各样的 bug,有的 bug 我们看一眼、或者多看几眼就能看出来问题。 但是,也有很多问题,我们看不出来,这个时候,我们不妨把我们的代码扔给 GPT,看看它…...

CSS3背景样式

在CSS 2.1中,background属性的功能还无法满足设计的需求,为了方便设计师更灵活地设计需要的网页效果,CSS3在原有background基础上新增了一些功能属性,可以在同一个对象内叠加多个背景图像,可以改变背景图像的大小尺寸&…...

JAVA同城服务同城圈子真人躲猫猫系统的玩法流程

在现在科技的发展和互联网的普及,线上社交游戏在人们的生活中占据了越来越重要的地位。JAVA同城服务同城圈子真人躲猫猫系统就是一种结合了线上社交和线下实体位置服务的全新游戏模式。在这个游戏中,玩家们可以在同一城市中寻找隐藏的对手,体…...

C++继承——圆形和圆柱体

C继承 Circular圆形类 /*圆形类*/ class Circular { private:const static double PI;double R 0; public:Circular() default;Circular(double r);double GetArea(); /*圆面积*/double GetGirth(); /*圆周长*/ }; const double Circular::PI 3.14;Circular::Circula…...

致远OA wpsAssistServlet任意文件上传漏洞复现 [附POC]

文章目录 致远OA wpsAssistServlet任意文件上传漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 致远OA wpsAssistServlet任意文件上传漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用…...

Java规则引擎2.1.8版本新增功能说明

规则引擎更新功能 新增: 1.决策结束节点新增结果导出excel功能; 在决策流程的结束节点,可以将决策结果导出为Excel文件。这个功能为用户提供了更多的灵活性和便利性,使他们能够轻松地将决策结果数据进行进一步的分析和处理。 2.新增公有变…...

系列四十、请谈一下Spring中事务的传播行为

一、概述 事务的传播行为指的是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行。事务的传播行为至少发生在两个事务方法的嵌套调用中才会出现。 二、传播行为分类...

kubectl详解

陈述式资源管理方法: 1.kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口 2.kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为 apiserver 能识别的信…...

QT通过url下载http地址下的文件(文件夹)

前言 之前只写过通过http协议通信,没有写过下载http地址中的文件或者文件夹,了解一下在QT下如何下载。 其实很简单,同使用协议通信相同的是,创建QNetworkAccessManager和QNetworkRequest,设置QNetworkRequest的url&a…...

测试实施运维必备知识点

Linux常用命令 ip addr 查看ip地址信息 ping 测试物理机是否联网 dhclient 让CentOS 7自动获取一个IP地址 vim 编辑纯文本文件 who 查看是否还有其他人在登录 find 在文件系统中搜索某文件 -name filename: 表示直接查找该文件名的文件 -type filetype:…...

RTSP/Onvif安防视频平台EasyNVR接入EasyNVS,出现Login error报错的解决方法

安防视频监控汇聚EasyNVR平台,是基于RTSP/Onvif协议的安防视频平台,可支持将接入的视频流进行全平台、全终端分发,分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式。为了满足用户的集成与二次开发需求,我们也提…...

在Linux环境下远程访问MeterSphere开源测试平台

文章目录 前言1. 安装MeterSphere2. 本地访问MeterSphere3. 安装 cpolar内网穿透软件4. 配置MeterSphere公网访问地址5. 公网远程访问MeterSphere6. 固定MeterSphere公网地址 前言 MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能&am…...

ARPG----C++学习记录02 Section6位置,偏移,函数

设置actor位置 这一句代码就可以更改位置和旋转 给位置添加偏移offset 将debug的持久都设置为false,在tick中调用,球就会动。这是每帧移动,所以移动速度和帧率有关,需要更改 void Aitem::Tick(float DeltaTime) {Super::Tick(DeltaTime);Ad…...

怎么在现货黄金交易过程中高效设置止损?

投资市场中的风险具有客观及普遍性,现货黄金买卖也是如此,作为典型的国际性交易产品之中,在现货黄金买卖过程中人们要灵活应对行情变化,从中争取盈利空间。而设置止损就是防止风险扩大的一条有效措施,所以炒金者们应当…...

centos做个登录提醒

1.编辑脚本 sudo vim /usr/local/bin/login-notify.sh例如 login-notify.sh #!/bin/bash# 检查是否有一个原始SSH命令,并执行它 if [[ -n "$SSH_ORIGINAL_COMMAND" ]]; thenecho "SSH_ORIGINAL_COMMAND: $SSH_ORIGINAL_COMMAND" >> /va…...

如何3步掌握Home Assistant SSH Web终端:从零到精通的管理指南 ✨

如何3步掌握Home Assistant SSH Web终端:从零到精通的管理指南 ✨ 【免费下载链接】app-ssh Advanced SSH & Web Terminal - Home Assistant Community Apps 项目地址: https://gitcode.com/gh_mirrors/ad/app-ssh 在智能家居系统的日常维护中&#xff0…...

3步实现AI智能背景移除:开源工具让透明GIF制作变得如此简单

3步实现AI智能背景移除:开源工具让透明GIF制作变得如此简单 【免费下载链接】backgroundremover Background Remover lets you Remove Background from images and video using AI with a simple command line interface that is free and open source. 项目地址:…...

西门子V90参数移植实战指南:从备份到验证的完整流程

1. 西门子V90参数移植的核心价值 当你面对生产线上的V90驱动器需要更换时,最头疼的问题莫过于如何让新设备"继承"旧设备的全部参数特性。我经历过三次完整的设备迭代,深刻理解参数移植的重要性——它直接关系到设备重启后的运行稳定性。不同于…...

uboot移植实战:DDR初始化参数优化与调试指南

1. 理解DDR初始化在uboot移植中的重要性 第一次接触uboot移植时,我完全不明白为什么DDR初始化这么麻烦。直到有一次,我把开发板直接烧成砖头,才真正意识到这个环节有多关键。简单来说,DDR初始化就像是给电脑装内存条,但…...

别再用Delay了!用GD32的TIMER5实现精准1ms定时,让你的嵌入式程序更高效

告别阻塞式延时:用GD32 TIMER5构建高效嵌入式系统心跳 在嵌入式开发中,时间管理如同系统的心跳,决定了整个应用的响应速度和执行效率。许多开发者习惯使用delay_ms()这类阻塞式延时函数,却不知这会让CPU陷入无意义的等待状态&…...

如何用QtScrcpy实现低延迟Android投屏?5个技巧带你解锁高效多设备控制体验

如何用QtScrcpy实现低延迟Android投屏?5个技巧带你解锁高效多设备控制体验 【免费下载链接】QtScrcpy Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限 项目地址: https://gitcode.com/…...

如何快速搭建QQ机器人:OpenShamrock的终极指南

如何快速搭建QQ机器人:OpenShamrock的终极指南 【免费下载链接】OpenShamrock A Bot Framework based on Xposed with OneBot11 项目地址: https://gitcode.com/gh_mirrors/op/OpenShamrock OpenShamrock是一款基于LSPosed框架实现的QQ机器人开发框架&#x…...

RIFE帧插值技术:视频增强领域的智能插帧解决方案

RIFE帧插值技术:视频增强领域的智能插帧解决方案 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/vi/video2x …...

Stable-Diffusion-v1-5-archive多风格生成效果:复古海报/科技感UI/手绘插画实拍

Stable Diffusion v1.5 Archive多风格生成效果:复古海报/科技感UI/手绘插画实拍 1. 模型介绍与核心能力 Stable Diffusion v1.5 Archive是经典SD1.5文生图模型的归档版本,作为AI图像生成领域的"常青树",它依然保持着强大的通用图…...

【计算机架构】RISC-V:开源精简指令集如何重塑未来芯片设计

1. RISC-V:开源指令集的革命性突破 我第一次接触RISC-V是在2014年,当时这个开源指令集还只是学术界的一个研究项目。谁能想到短短几年后,它已经成为改变芯片设计行业的颠覆性力量。与ARM、x86等传统商业架构不同,RISC-V最吸引我的…...