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

Linux网络 - HTTP协议

文章目录

  • 前言
  • 一、HTTP协议
    • 1.url
      • url特殊字符
    • request
    • respond
  • 总结


前言

上一章内容我们讲了在应用层制定了我们自己自定义的协议、序列化和反序列化。
协议的制定相对来讲还是比较麻烦的,不过既然应用层的协议制定是必要的,那么肯定已经有许多计算机大佬们已经制定好了非常完善的协议了,我们今天就来学习我们日常生活经常会用到的HTTP协议。

需要用到的软件为 postman,fiddler。这些都是知名的抓包工具。

一、HTTP协议

在这里插入图片描述
现在我们使用浏览器一般都是使用http协议和https协议,在近些年,由于https更为安全可靠,许多浏览器都默认强制使用https协议进行访问,各大厂商也跟着一起改变。

Http在传输层也是采用的也是TCP协议。

所以,由于浏览器限制,这里我使用postman来进行http协议的访问。

1.url

之前我们学习udp和tcp协议我们知道,通过ip地址和端口号的方式就能访问到全网中的唯一主机所绑定端口号的服务器。

那么url是什么?

在这里插入图片描述

以上图为例,红色框圈起来的就叫做url(统一资源定位系统(uniform resource locator;URL)。

它的用途就是通过ip地址+端口号+文件路径的方式,来访问到全网中唯一主机中唯一资源。以?号结尾。

在这里插入图片描述
后面?的部分可以理解为参数,这是一种K/V式的参数,多个参数之间用&隔开。

url特殊字符

在这里插入图片描述
上图可以看出,这样的一串http地址,每个部分需要有不同的字符来隔开,例如/ : @ ? # 那么如果我们就是要在参数中加入这些字符,应该怎么办?
我们很容易就想到一种方式就是转码和解码。
在这里插入图片描述

request

在这里插入图片描述
我们这里向百度搜索helloworld,就是向百度的服务器发送了这样一个request请求报文。

这里我们没有发送正文。

respond

当我们向百度服务器发送上面这样的正文之后,百度的服务器也要给我们一个respond响应报文。
在这里插入图片描述

一般状态码200 为成功,404为未找到资源

需要注意的是,这里有个content-length,这个参数表示后面的正文字符长度,看过我的上个文章就知道,想要获取一个完整的报文,就需要向报头传长度进去。


总结

本章主要讲解了一下http协议中的url与请求报文和响应报文。
下一章我们来讲解如何自己实现一个httpserver。

相关文章:

Linux网络 - HTTP协议

文章目录 前言一、HTTP协议1.urlurl特殊字符 requestrespond 总结 前言 上一章内容我们讲了在应用层制定了我们自己自定义的协议、序列化和反序列化。 协议的制定相对来讲还是比较麻烦的,不过既然应用层的协议制定是必要的,那么肯定已经有许多计算机大佬…...

面试题——Nginx

1.Nginx是什么? 是一个高性能的Web服务器和反向代理服务器,也可以作为静态文件的缓存服务器,也能够进行负载均衡。 2.Nginx的作用? 1.反向代理:将多台服务器代理为一台服务器。客户端不了解底层服务端。 2.负载均衡…...

持续学习的综述: 理论、方法与应用

摘要 为了应对现实世界的动态,智能系统需要在其整个生命周期中增量地获取、更新、积累和利用知识。这种能力被称为持续学习,为人工智能系统自适应发展提供了基础。从一般意义上讲,持续学习明显受到灾难性遗忘的限制,在这种情况下…...

跨域资源共享(CORS)问题与解决方案

跨域资源共享(CORS,Cross-Origin Resource Sharing)是现代web开发中常见且重要的一个概念。它涉及到浏览器的同源策略(Same-Origin Policy),该策略用于防止恶意网站从不同来源窃取数据。然而,在…...

实用软件分享-----一款免费的人工智能替换face的神器

专栏介绍:本专栏主要分享一些实用的软件(Po Jie版); 声明1:软件不保证时效性;只能保证在写本文时,该软件是可用的;不保证后续时间该软件能一直正常运行;不保证没有bug;如果软件不可用了,我知道后会第一时间在题目上注明(已失效)。介意者请勿订阅。 声明2:本专栏的…...

不可思议!这款 Python 库竟然能自动生成GUI界面:MagicGUI

目录 什么是MagicGUI? ​编辑 MagicGUI的工作原理 安装MagicGUI 创建你的第一个GUI ​编辑 其他案例 输入值对话框 大家好,今天我们来聊一聊一个非常有趣且实用的Python库——MagicGUI。这个库可以让你用最少的代码,快速创建图形用户…...

论文发表CN期刊《高考》是什么级别的刊物?

论文发表CN期刊《高考》是什么级别的刊物? 《高考》是由吉林省长春出版社主管并主办的省级教育类期刊,期刊以科教兴国战略为服务宗旨,专门反映和探索国内外教育教学和科研实践的最新成果。该期刊致力于为广大教育工作者提供一个高质量的学术…...

离散数学复习

1.关系的介绍和性质 (1)序偶和笛卡尔积 两个元素按照一定的顺序组成的二元组就是序偶,使用尖括号进行表示,尖括号里面的元素一般都是有顺序的; 笛卡尔积就是有两个集合,从第一个集合里面选择一个元素&am…...

华为网络设备高频命令

1.system-view • 用法:在用户视图下执行 system-view 命令。 • 作用:进入系统视图,以便进行配置性的操作。 • 场景:当需要对设备进行系统级的配置时。 2.sysname XXX • 用法:执行 [Huawei]sysname XXX 命令。…...

信友队:南风的收集

C. [202406C]楠枫的收集 文件操作 时间限制: 1000ms 空间限制: 262144KB 输入文件名: 202406C.in 输出文件名: 202406C.out Accepted 100 分 题目描述 一年四季,寒暑交替,楠枫总是会收集每一个季节的树叶,并把它们制作成标本收集起来。当…...

找工作小项目:day16-重构核心库、使用智能指针(3)

day16-重构核心库、使用智能指针(3) 最后将使用这个库的方式进行展示。 1、客户端 在while ((o getopt(argc, argv, optstring)) ! -1)所有的操作都是获取参数的操作,threads 、msgs 和wait 分别指线程数、消息长度以及等待时间。 创建一…...

软考中级|软件设计师-知识点整理

目录 计算机网络概论 计算机系统基础知识 中央处理单元 数据表示 校验码 计算机体系结构 计算机体系结构的发展 存储系统 输入/输出技术 安全性、可靠性与系统性能评测基础知识 加密技术和认证技术 计算机可靠性 程序设计语言基础知识 程序设计语言概述 程序设计…...

HTML5基础

1 HTML基础概念(难点) WWW(World Wide Web,万维网)是一种建立在 Internet 上的信息资源网络。 WWW 有 3 个基本组成部分,分别是 URL:Universal Resource Locators,统一资源定位器 HT…...

python,ipython 和 jupyter notebook 之间的关系

python,ipython 和 jupyter notebook 之间的关系 文章目录 python,ipython 和 jupyter notebook 之间的关系1. Python2. IPython3. Jupyter Notebook启动 Jupyter Notebook 关系总结 Python、IPython 和 Jupyter Notebook 是相互关联但具有不同功能的工具…...

聊聊DoIP吧(三)-端口号port

DoIP在UDP和TCP建立连接和发送诊断报文的过程中使用的端口定义如下:...

【将xml文件转yolov5训练数据txt标签文件】连classes.txt都可以生成

将xml文件转yolov5训练数据txt标签文件 前言一、代码解析 二、使用方法总结 前言 找遍全网,我觉得写得最详细的就是这个博文⇨将xml文件转yolov5训练数据txt标签文件 虽然我还是没有跑成功。那个正则表达式我不会改QWQ,但是不妨碍我会训练ai。 最终成功…...

针对k8s集群已经加入集群的服务器进行驱逐

例如k8s 已经有很多服务器,现在由于服务器资源过剩,需要剥离一些服务器出来 查找节点名称: kubectl get nodes设置为不可调度: kubectl cordon k8s-node13恢复可调度 kubectl uncordon k8s-node13在驱逐之前先把需要剥离驱逐的节…...

go 1.22 增强 http.ServerMux 路由能力

之前 server func main() {http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {fmt.Println("Received request:", r.URL.Path)fmt.Fprintf(w, "Hello, client! You requested: %s\n", r.URL.Path)})log.Println("Serv…...

赶紧收藏!2024 年最常见 20道设计模式面试题(二)

上一篇地址:赶紧收藏!2024 年最常见 20道设计模式面试题(一)-CSDN博客 三、解释抽象工厂模式,并给出一个实际应用的例子。 抽象工厂模式是一种创建型设计模式,用于创建一系列相关或依赖对象的接口&#x…...

Java面向对象设计 - Java泛型约束

Java面向对象设计 - Java泛型约束 无限通配符 通配符类型由问号表示&#xff0c;如<&#xff1f;> 。 对于通用类型&#xff0c;通配符类型是对象类型用于原始类型。 我们可以将任何已知类型的泛型分配为通配符类型。 这里是示例代码: // MyBag of String type M…...

Nunchaku-flux-1-dev一键部署教程:Ubuntu20.04环境配置

Nunchaku-flux-1-dev一键部署教程&#xff1a;Ubuntu20.04环境配置 1. 开篇&#xff1a;为什么选择这个部署方案 如果你刚接触Linux环境下的模型部署&#xff0c;可能会觉得配置各种依赖和环境变量很头疼。Nunchaku-flux-1-dev作为一个功能强大的模型&#xff0c;其实在Ubunt…...

终极Slick轮播图与React结合指南:10个组件化开发实践技巧

终极Slick轮播图与React结合指南&#xff1a;10个组件化开发实践技巧 【免费下载链接】slick the last carousel youll ever need 项目地址: https://gitcode.com/GitHub_Trending/sl/slick Slick轮播图插件是现代前端开发中最强大、最灵活的轮播组件之一&#xff0c;被…...

Codesys实战排障手记:从证书过期到RTC时钟校准

1. 当Codesys突然弹出证书过期警告时 那天我正在客户现场调试禾川HCQ1系列PLC&#xff0c;刚打开Codesys V3.5开发环境&#xff0c;一个鲜红的证书过期警告就弹了出来。这种突如其来的报错让现场气氛瞬间紧张——产线等着调试&#xff0c;设备等着联调&#xff0c;而系统却在关…...

Seurat实战:如何用FindMarkers函数精准鉴定单细胞亚群(附避坑指南)

Seurat实战&#xff1a;用FindMarkers函数精准鉴定单细胞亚群的7个关键策略 单细胞RNA测序技术正在彻底改变我们对复杂组织的理解能力。在肌肉组织、肿瘤微环境或大脑皮层等高度异质性的样本中&#xff0c;准确识别和注释细胞亚群是每个研究者面临的重大挑战。Seurat工具包中的…...

嘎嘎降AI使用教程:手把手教你用嘎嘎降AI降论文ai率,从97%降到7%实操

嘎嘎降AI使用教程&#xff1a;手把手教你用嘎嘎降AI降论文ai率&#xff0c;从97%降到7%实操 说实话&#xff0c;我当时论文被检测出AI率97%的时候&#xff0c;整个人是懵的。导师直接把报告甩给我说"你这论文是不是全让AI写的"&#xff0c;我那叫一个尴尬。后来折腾了…...

丹青幻境GPU优化:Bfloat16混合精度下Z-Image推理速度提升47%

丹青幻境GPU优化&#xff1a;Bfloat16混合精度下Z-Image推理速度提升47% "见微知著&#xff0c;凝光成影。执笔入画&#xff0c;神游万象。" 丹青幻境 是一款基于 Z-Image 架构与 Cosplay LoRA 历练卷轴打造的数字艺术终端。它告别了冷硬的科技感&#xff0c;将 4090…...

Dify工作流自动化架构解析:从零构建企业级AI应用开发平台

Dify工作流自动化架构解析&#xff1a;从零构建企业级AI应用开发平台 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程&#xff0c;自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Di…...

3分钟掌握Mermaid:用代码思维绘制专业图表的核心技巧

3分钟掌握Mermaid&#xff1a;用代码思维绘制专业图表的核心技巧 【免费下载链接】mermaid mermaid-js/mermaid: 是一个用于生成图表和流程图的 Markdown 渲染器&#xff0c;支持多种图表类型和丰富的样式。适合对 Markdown、图表和流程图以及想要使用 Markdown 绘制图表和流程…...

文墨共鸣大模型生成技术教程:以“计算机组成原理”为例的课件与习题制作

文墨共鸣大模型生成技术教程&#xff1a;以“计算机组成原理”为例的课件与习题制作 作为一名在技术领域摸爬滚打了十多年的从业者&#xff0c;我见过太多优秀的工具因为“用起来太麻烦”而被束之高阁。今天&#xff0c;我想和你分享一个让我眼前一亮的“AI助教”——文墨共鸣…...

OpenFeign性能优化最全实战

Feign 就是动态代理 模板化 HTTP 请求&#xff0c;帮你把接口方法自动转成 HTTP 调用。 完整执行流程&#xff08;8 步&#xff09; 启动时&#xff1a;FeignClient 接口被 Feign 扫描&#xff0c;生成动态代理类 调用时&#xff1a;执行接口方法 → 进入代理类 解析注解&…...