HTTP协议以及curl命令

从curl命令看透MCP Streamable HTTP协议:手把手调试初始化/工具调用全流程 本文深入解析MCP Streamable HTTP协议的传输机制,通过curl命令实战演示从初始化到工具调用的全流程。详细介绍了统一端点设计、动态传输模式和智能会话管理等核心特性,帮助开发者高效调试AI模型与工具的通信协议。 阅读详情


一.HTTP协议简介
       关于网络协议,我们最常见的就是浏览器地址栏上的http,全称是HyperText Transfer Protocol,也就是超文本传输协议,是互联网上应用最广泛的一个网络协议,HTTP的作用是指导浏览器和服务器如何进行沟通,这是一个统一的标准,所有的万维网文件都要遵循这个标准。
        而相互通信,就必须有请求和响应,我们可以通过命令行发起请求以及响应,可以看到请求以及响应的反馈,也可以通过浏览器通过F12查看请求以及响应的详细信息。

二.HTTP的请求和HTTP响应

1.HTTP请求:

        指的是从客户端发起请求,服务器响应,主要包括三部分,有一部分可以为空,所以也可以是四部分:

       第一部分是请求方法URL协议/版本,通俗讲就是动词 路径 协议/版本,请求分为GET和POST,PUT PATCH DELETE HEAD OPTIONS目前我们主要掌握前两种,GET用来获取,而POST提供上传,在第一部分中,这两种请求的内容是不同的,下面举例,GET / HTTP1.1 或者 POST / HTTP1.1。
        第二部分是主要是由一些键值对以及Content-Type和Host以及User-Agent组成,Content-Type标注了第四部分的格式,当然有时候s第四部分是空的。
        第三部分是一个回车,用来和下一部分进行区分。
        第四部分就是要上传的数据。

        下面介绍一些如何在Chrome中查看HTTP的请求内容,点击F12点击NetWork左边的name栏或显示很多接口,我们点击需要查看的,就会看到三栏,General,ResponseHeaders,RequestHeader,点击qrquest,右边有view source,只有点击了这个键,才能看到我们熟悉的请求格式,如果有请求的s第四部分,下方有FormData和Payload,点击即可看到第四部分。

2.HTTP响应
        我们发起请求之后会得到一个响应,响应是对应于请求的,响应的格式也有四部分:
        第一部分是协议/版本号 状态码 状态解释。
        第二部分是键值对以及Content-length,content-type,这是标注第四部分格式的,且遵循MIME规范。
        第三部分依然是一个空格。
        第四部分可以很长很长,GET请求和POST请求对应的响应h可以一样,也可以不一样,第一部分的状态码是需要记住的,这是服务器对浏览器说的话,1开头的表示不常用,2开头的表示成功,3开头的表示不需要,4开头表示发起者错误,5开头表示服务器错误。

  在Chrome中查看响应和查看请求步骤类似,区别在于我们点中响应的接口,查看的是ResponseHeaders,不要忘记点击view source,这样我们才能看到我们能认识的格式,第四部分在preview或者response中查看。




三.curl命令的使用

        curl用来‘从server传输数据’或者‘传输数据到server’,支持多种协议(HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP or FILE)。
        curl提供了大量有用的技巧像  proxy support, user authentication, FTP upload, HTTP post, SSL connections, cookies,  file  transfer  resume and more。
        curl由libcurl支持完成transfer-related(传输相关)的功能。

        为了更好的了解HTTP请求与响应,我们可以用curl命令进行学习。

        curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。做网页处理流程和数据检索自动化,curl可以祝一臂之力。

      curl的格式是curl 请求和参数,在课上我们主要用到了

      curl -s -v -H "xiedaimala: xxx" -- "https://www.baidu.com"


      curl -X POST -s -v -H "xiedaimala: xxx" -- "https://www.baidu.com"


      curl -X POST -d "1234567890" -s -v -H "xiedaimala: xxx" -- "https://www.baidu.com"


      这三条指令,我们可以看到,需要上传时候我们要加POST参数,以及上传的信息,而后面的网址是我们要请求的服务器,在我们发起请求之后,在命令行窗口中可以看到请求和响应。
实战指南:在华为防火墙上构建基于自签CA的SSL证书挑战式认证体系 本文详细介绍了在华为防火墙上构建基于自签CA的SSL证书挑战式认证体系的实战指南。通过自签CA证书生成、华为防火墙SSL VPN配置、客户端安装与测试等步骤,帮助企业实现更安全的远程办公接入方案,有效防范密码泄露风险。文章重点讲解了证书挑战登录的实现原理和配置细节,适用于企业网络安全建设。 阅读详情

相关推荐

养龙虾经验:OpenClaw用户必看的3个“省token”救命配置

本文分享了3个优化OpenClaw使用成本的配置方案:1)启用上下文压缩功能,可选择全局或单个代理设置,支持safeguard/adaptive两种压缩模式;2)修改SOUL.md提示词,要求模型回答简洁直接;3)限制对话历史长度。方案一效果最佳,可减少长对话的token消耗,但可能影响连贯性。三种方案可单独或组合使用,需根据实际场景调整参数。文章最后邀请读者分享使用痛点,将针对高频问题撰写解决方案。

wpplvhq的专栏 1418

发起HTTP请求--Curl

curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。 它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这一类的图形界面工具 我们可以使用cURL执行一些有用的技巧,如代理支持、用户身份验证、FTP上传、HTTP post、SSL连接、cookie、文件传输恢复、Metalink等等。 常用命令分类: # 调试类 -v, --verbose 输出信息

weixin_46601374的博客 5300

基于STM32的工业I/O模块硬件电路实现

深入解析基于STM32的工业I/O模块硬件电路实现,涵盖关键电路设计与信号处理,突出硬件电路稳定性和工业级可靠性,适合嵌入式开发者参考。

weixin_35835018的博客 456

HTTP curl 用法指南

curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这一类的图形界面工具。本文介绍它的主要命令行参数,作为日常的参考,方便查阅。内容主要翻译自。为了节约篇幅,下面的例子不包括运行时的输出,初学者可以先看我以前写的《curl 初学者教程》。不带有任何参数时,curl 就是发出 GET 请求。上面命令向发出 GET 请求,服务器返回的内容会在命令行输出。-I。

小楼一夜听春雨,深巷明朝卖杏花 6081

【密码专栏】超强进阶:PLONK VS Groth16(上)

前言 前文《天冷了,干了这碗“零知识证明”鸡汤》对「零知识证明学习」作了一个形象化的比喻:炖鸡汤。那么本系列的主要内容可以简单概括为《论高压锅炖鸡汤的一百种方法》之方法二。在学会了“清炖鸡汤”之后,不如来一口“阿胶鸡汤”补补脑细胞吧! 正如鸡汤不同风味之间各具千秋,不同的zk-SNARK方案也各有所长。zk-SNARK方案可以被分为【通用】与【非通用】zk-SNARK,PLONK与Groth16分别是其中的典型代表。通过本系列,我们将对PLONK算法内容作简要介绍,并指出PLONK和Groth16算法思路上

Hyperchain的博客 1805

雷电模拟器9.0最新过检测实战:从修改Build.prop到Xposed模块配置全流程

本文提供了一套针对雷电模拟器9.0的深度伪装实战方案,旨在绕过应用检测。内容涵盖从理解检测机制、获取Root权限、修改Build.prop等静态伪装,到利用Xposed/LSPosed框架进行运行时Hook的动态伪装全流程,帮助用户构建无痕的“真机”环境以稳定运行应用。

z4a5b6的博客 864

关于http协议的描述和curl使用详解

1、HTTP协议的理解: 1.1 首先提供几个自己在开发过程中查阅的网站 ·http://blog.youkuaiyun.com/kingcodexl/article/details/51306062 ·https://developer.mozilla.org/zh-CN/docs/Web 主要了解HTTP的报文格式以及头域的意义。 1.2 HTTP协议的请求方法 HTTP 定义了一组请求方

qq_40359048的博客 5637

智能变电站协议系列-1、GOOSE、SV、MMS协议简介及GOOSE示例运行问题(IEC61850)

目前有一个新的研究,关于电网使用的GOOSE、SV、MMS协议,并使用相关库来做一下测试。由于goose、sv、mms等都属于IEC61850,因此,需要对IEC61850相关内容有一些了解,都是国际标准,属于电气自动化的一部分,对于自动化或者电气相关领域有接触的专业应该或多或少有一些了解。IEC61850目标是用于变电站自动化、分布式能源、水力和天然气发电厂、风力发电厂、电动汽车作为分布式能源等领域,目前似乎在变电站自动化方面的推广和使用更加广泛。

逍遥游的博客 2万+

cURL(优秀的应用层网络协议库)

今天来点评一下cURL,这是一个老资格的开源项目,使用它可以基于多种应用层网络协议进行数据传输(包括上传和下载)。它的特点是:支持的协议多、跨平台、支持多种编程语言接口。后面我会针对这些特点作一些简单的介绍。   cURL项目实际上包含两个部分:命令行工具和编程用的库(libcurl)。两者支持的功能基本相同。由于开发人员更多地是和libcurl打交道,所以后面我会主要介绍libcurl。

peterlin666的专栏 2433

PPT+视频 | 详解智能营销增益模型(uplift model)

分享营销增益模型的原理和常见的建模及评估方法,并以淘票票智能票补为例介绍uplift model技术的实践经验。

阿里文娱技术 8626

第244篇 视觉SLAM后端之BA优化——Bundle Adjustment的原理

本文介绍了SLAM后端优化中的Bundle Adjustment(BA)技术。BA通过同时优化相机位姿和3D路标点位置,最小化重投影误差,解决前端估计的累积误差问题。文章详细讲解了BA的数学原理,包括目标函数构建、Gauss-Newton法和Levenberg-Marquardt法求解过程,以及利用稀疏性和Schur补加速计算的关键技术。对比了全量BA和增量BA的优缺点,并介绍了Ceres、g2o等工程实现工具。BA作为SLAM后端的核心算法,其理解深度直接影响系统性能优化能力。

郑伟强dev的专栏 347

curl命令发送Http请求

curl是一个命令行工具,用于在命令行界面中与各种协议(如HTTP、HTTPS、FTP等)进行数据传输。它常被用于发送和接收网络请求,是开发者在进行网络调试、API测试时非常有用的工具。curl支持的通信协议包括但不限于:FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。此外,有些资料还提到了curl。

sc35262的博客 4014

OpenClaw 报错 npm install failed; cleaning up and retrying...:原生模块编译失败

本文针对OpenClaw项目在部署时出现的"npm install failed"报错问题进行分析,指出该问题源于Node.js原生模块编译链缺失。文章详细列举了常见触发原因,包括缺少gcc/make、Python版本不符、Node版本过新等,并提供了五种解决方案:安装完整编译环境、配置node-gyp Python、重新编译原生模块、切换Node版本以及单独重建失败模块。最后强调在国产服务器环境下部署AI工程时,补齐编译环境和使用稳定Node版本是解决问题的关键,该方案可复用解决

博客 1798

cURL命令行工具深度解析:从HTTP协议基础到自动化实战

HTTP协议是互联网数据交换的基石,它定义了客户端与服务器之间通信的请求-响应模型。其核心原理在于通过标准化的方法(如GET、POST)和状态码,实现资源的获取、提交与状态管理。掌握HTTP协议对于开发者、运维工程师和安全研究员而言具有重要技术价值,它是进行API调试、服务监控和网络问题排查的基础能力。在实际应用场景中,命令行工具因其无环境依赖、可脚本化和高透明度的特点,成为自动化测试、持续集成和系统集成的首选方案。本文以cURL这一支持数十种网络协议的“瑞士军刀”为例,深入讲解如何通过命令行精确控制请求方

weixin_30696427的博客 342

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

curl --no-alpn 命令详解:关闭 TLS ALPN 协商以精确控制 HTTPS 与 HTTP/2 协议选择

`--no-alpn` 是 curl 中用来**关闭 TLS 握手阶段 ALPN(应用层协议协商)扩展**的命令行开关,它直接决定 HTTPS 会话中客户端是否向服务器通告 `h2`(HTTP/2)等应用层协议候选。本文以 curl 仓库中的 [no-alpn.md](https://link.gitcode.com/i/757cb0cea63f5bae07fc77d89982d879) 为骨架,

gitblog_00733的博客 223

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

curl 与 libcurl 的 HTTP Cookie 引擎:从 Set-Cookie 协议、Netscape Cookie Jar 文件格式到命令行与编程接口全解析

HTTP Cookie 是现代 Web 会话保持、登录态跟踪与个性化服务的基础机制。本篇技术指南以 [third_party/curl/docs/HTTP-COOKIES.md](https://link.gitcode.com/i/cbbed82d7cf7dd9c07038d0818198305) 为核心,系统讲解 curl/libcurl 内置的完整 Cookie 引擎:从 `Set-Cook

gitblog_00951的博客 309

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

linux命令开启http,如何启用curl命令HTTP2支持

文章目录[隐藏]启用curl命令HTTP2支持编译安装nghttp2升级curl版本测试curl with http2当我们直接使用 curl 去请求一个 https 页面时,默认可以看到其默认返回的是 HTTP1.1 的 response。现在使用 HTTP2 的网站越来越多,技术也越来越成熟,如何启用 curl 命令 HTTP 2 支持就成为了一个问题。curl -I https://nght...

weixin_35998791的博客 603

HTTP协议简介和系统命令curl,AIP调用 (ELK中运用)

http请求由三部分组成 分别是:请求行,消息报头,请求正文 请求行的URI和协议版本,格式如下: Method Request-URI HTTP-Version CRLF http请求方法 –常用方法 GET,POST,HEAD –其他方法 OPTIONS,PUT,DELETE,TRACE和CONNECT ES常用 – PUT — 增 –DELETE --删 –POST ...

weixin_45942735的博客 366

关于CURL命令的一些知识

命令行基础知识 参考文档: https://ec.haxx.se/ https://hit-alibaba.github.io/interview/basic/network/HTTP.html https://curl.haxx.se/docs/manual.html https://www.runoob.com/http/http-tutorial.html https://curl.haxx...

运维狗的备忘录 2898

curl 上传文件_HTTP 请求與响应的格式及 curl 命令使用

介绍 HTTP,主要内容有HTTP 请求包括哪些部分,如何用Chrome开发者工具查看 HTTP 请求内容HTTP 响应包括哪些部分,如何用Chrome开发者工具查看 HTTP 响应内容如何使用 curl 命令HTTP 请求的格式1 动词 路径 协议/版本 2 Key1: value1 2 Key2: value2 2 Key3: value3 2 Content-Type: applicatio...

weixin_39842237的博客 823

curl/libcurl HTTP/2 支持完全指南:从协议协商到多路复用与命令行实战

> 本文以 KBEngine 仓库内置的 curl 官方文档 [HTTP2.md](https://link.gitcode.com/i/eebe6782237ea31c6741ad1e1d51ff78) 为骨架,系统讲解 libcurl 与 curl 命令行工具对 HTTP/2 的完整支持:包括 nghttp2 构建前提、`http://` 与 `https://` 两种启用路径、ALPN/NP

gitblog_00732的博客 786

Linux curl 命令详解

1. 命令概要 该命令设计用于在没有用户交互的情况下工作。 curl 是一个工具,用于传输来自服务器或者到服务器的数据。「向服务器传输数据或者获取来自服务器的数据」 可支持的协议有(DICT、FILE、FTP、FTPS、GOPHER、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMTP、SMTPS、TELNET和TFTP)。 curl提供了大量有用的技巧,比如代理支持、用户身份验证、FTP上传、HTTP post、SSL连接、

Soul Blog 2万+

curl 命令详解

curl 是一种命令行工具,作用是发出网络请求,然后获取数据,显示在"标准输出"(stdout)上面。它支持多种协议,下面列举其常用功能。一、查看网页源码直接在 curl 命令后加上网址,就可以看到网页源码。以网址 www.sina.com为例(选择该网址,主要因为它的网页代码较短)。$ curl www.sina.com <html> <head><title&gt...

lxw1844912514的博客 4064

curl的HTTP参数速查表

curl是一个开源的命令行工具,它基于网络协议,对指定URL进行网络传输,得到数据后不任何具体处理(如:html的渲染等),直接显示在"标准输出"(stdout)上。

万猫学社 4537

CURL命令详解

CURL 命令详解

aikanjojo的博客 2429

curl命令调试接口

一.场景再现 大家好,很快就过年了,在这里先祝各位新年快乐,阖家欢乐!现在我们切入主题,在我们平时开发接口完成后,需要上线联调接口,而接口往往和业务逻辑精密联系,想要调试接口,就需要将业务测一遍,那么有没有更好的办法使得调试更简单? 在这篇文章中,我将常用的接口分为两类: 第一类:自己开发服务于自己系统的接口,该类接口调试可以在本地使用postman工具调试; 第二类:不是自己开发,调用别人能力...

麦叔 7786
下一篇: HTML常用标签介绍以及用到的简单Emmet语法
Ivan_Xing
博客等级 码龄11年 5粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值