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

学习笔记-http协议

1.http介绍http超文本运输协议是一种应用层协议他定义了web客户机是如何向web服务器请求web页面以及服务器如何将web页面传送给客户机的。他是基于 TCPHTTP/3 基于 UDP的结构化请求 - 响应协议用于在客户端与服务器之间传输任意类型的资源HTML、图片、JSON、视频等。2.http格式我们来看一下http基本格式请求方GET /index.html HTTP/1.1 # 请求行方法 路径URL 版本 Host: localhost:8080 # 请求头键值对传递元信息 User-Agent: Mozilla/5.0 Connection: keep-alive #http/1.0只有close无keep-alive #空行必需由于http不要求请求头行数所以需要一行空行来区分请求头和请求体 # 请求体GET请求可以无体POST请求可传表单/JSON数据请求行HTTP报文的第一行HTTP 的 “核心指令”包含三个关键信息1.方法请求的操作类型常用 GET查询资源、POST提交资源、PUT更新资源、DELETE删除资源2.路径URL:要访问的地址比如www.baidu.com3.版本HTTP 协议版本如HTTP/1.1。请求头以键: 值格式存在的元信息补充请求的上下文常用字段1.Host:目标服务器的域名 端口HTTP/1.1 强制必传支持虚拟主机2.User-Agent: 客户端身份标识浏览器 / 程序类型、操作系统等3.Connection:连接策略keep-alive长连接/close短连接4.请求体可选用于传递数据如 POST 请求的表单数据、JSON 参数GET 请求通过 URL 查询参数keyvalue传递数据无请求体。响应方HTTP/1.1 200 OK # 状态行版本 状态码 描述 Content-Type: text/html; charsetutf-8 # 响应头 Content-Length: 1024\r\n Connection: keep-alive\r\n # 空行必需 htmlbodyHello HTTP!/body/html # 响应体实际返回的资源1.状态行重点是状态码200 OK表示访问成功404 Not Found表示没有找到资源403 Forbidden表示访问被拒绝405 Method Not Allowed表示访问的服务器不能支持请求中的方法或者不能使用该请求中的方法500 Internal Server Error表示服务器出现内部错误504 Gateway Timeout表示当前服务器负载比较大服务器处理单条请求的时耗很长就会出现超时情况302 Move temporarily表示临时重定向301 Moved Permanently:表示永久重定向当浏览器收到这种响应时后续的请求都会被自动改成新的地址3.http请求1.URL:我们来看一下URL格式组件示例内容是否可选核心作用协议SchemeHTTP必选规定客户端与服务器的通信协议如 HTTP、HTTPS、FTP、SSH 等决定数据传输规则认证信息Userinfouser:pass可选早期用于服务器身份验证用户名密码现在几乎不用安全风险高已被 HTTPSCookie 替代域名Hostwww.sogou.com必选资源所在服务器的地址标识可是域名或 IP 地址如127.0.0.1端口Port8080可选服务器上的服务端口号与协议绑定默认值如 HTTP 默认 80、HTTPS 默认 443路径Path/article/details/123必选服务器内具体资源的路径类似文件系统的目录 文件名查询参数Queryspm1001page2可选向服务器传递的附加参数格式为键等于值多参数用分隔片段标识Fragmentcomment可选定位资源内部的子部分如网页的锚点、文档的章节仅客户端解析不传给服务器我们来看一个例子https://mp.csdn.net/mp_blog/creation/editor?spm1001.2100.3001.4503这里协议是https,域名是mp.csdn.net路径是/mp_blog/creation/editor查询参数是spm1001.2100.3001.45032.cookie:Cookie 是 HTTP 协议中用于维持客户端与服务器会话状态的小型文本数据由服务器生成并通过响应头发送给客户端客户端如浏览器会将其存储在本地后续每次向该服务器发送请求时都会自动携带 Cookie从而让服务器识别用户身份、记录状态信息。cookie的存储与携带存储形式键值对keyvalue的文本数据单个 Cookie 大小通常限制在 4KB 左右不同浏览器略有差异。客户端存储cookie浏览器接收响应后将 Cookie 存储在本地按域名分类管理例如我们打开edge浏览器在页面上方网络地址的左侧小锁里就能查看在本地存储的Cookie,携带规则客户端仅向生成 Cookie 的服务器域名、路径发送遵循「同源策略」默认Cookie解决的核心问题HTTP无状态的缺陷HTTP 协议本身是「无状态」的 —— 服务器不会记住前后两次请求是否来自同一个客户端比如第一次登录成功后第二次请求服务器仍不知道 “你已登录”。Cookie 正是为了弥补这一缺陷而设计让服务器能通过客户端携带的 Cookie 识别用户身份、维持会话状态。

相关文章:

学习笔记-http协议

1.http介绍http(超文本运输协议)是一种应用层协议,他定义了web客户机是如何向web服务器请求web页面,以及服务器如何将web页面传送给客户机的。他是基于 TCP(HTTP/3 基于 UDP)的结构化请求 - 响应协议&#…...

Mac NTFS读写完整解决方案:技术深度解析与高效部署指南

Mac NTFS读写完整解决方案:技术深度解析与高效部署指南 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and management f…...

GitHub加速革命:告别龟速下载,提升开发效率的终极方案

GitHub加速革命:告别龟速下载,提升开发效率的终极方案 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 在深…...

Kandinsky-5.0-I2V-Lite-5s效果展示:手绘草图→线条流动+色彩渐变动态视频

Kandinsky-5.0-I2V-Lite-5s效果展示:手绘草图→线条流动色彩渐变动态视频 1. 模型简介 Kandinsky-5.0-I2V-Lite-5s是一款轻量级图生视频模型,它能将静态图片转化为约5秒、24fps的短视频。你只需要上传一张首帧图片,再补充一句运动或镜头描述…...

wan2.1-vae开源模型价值:免授权商用+自主可控+私有化部署保障

wan2.1-vae开源模型价值:免授权商用自主可控私有化部署保障 1. 为什么选择wan2.1-vae开源模型 在当今AI图像生成领域,商业使用往往面临授权费用高、数据隐私风险等问题。wan2.1-vae作为基于Qwen-Image-2512模型的开源解决方案,提供了三大核…...

PowerShell中的环境变量与编码问题

在使用PowerShell脚本处理配置文件和环境变量时,编码问题常常是开发者们面临的一个挑战。本文将通过一个具体的实例,探讨如何处理PowerShell中的环境变量编码问题,特别是当环境变量包含特殊字符(如反引号)时。 问题描述 假设你正在使用Drone CI执行一些PowerShell命令,…...

本地语音合成技术全解析:从架构设计到行业落地

本地语音合成技术全解析:从架构设计到行业落地 【免费下载链接】tts-vue 🎤 微软语音合成工具,使用 Electron Vue ElementPlus Vite 构建。 项目地址: https://gitcode.com/gh_mirrors/tt/tts-vue 一、技术价值:为何本地…...

Qwen3.5-2B轻量化部署:4GB显存GPU跑通多模态推理的完整环境配置

Qwen3.5-2B轻量化部署:4GB显存GPU跑通多模态推理的完整环境配置 1. 模型概述 Qwen3.5-2B是Qwen3.5系列中的轻量化多模态基础模型,仅有20亿参数规模,专为低功耗、低门槛部署场景设计。该模型具有以下核心特点: 资源占用低&#…...

优化Blazor渲染逻辑的实践

在Blazor应用程序开发中,页面渲染逻辑的优化是提升用户体验的重要环节。特别是当页面包含多个条件渲染的组件时,如何高效地控制渲染流程成为了一个关键问题。本文将通过一个实际的案例,展示如何在Blazor中使用RenderFragment和return语句来优化页面渲染逻辑。 背景 假设我…...

如何十分钟掌握Diablo Edit2:暗黑破坏神II角色编辑器的完整指南

如何十分钟掌握Diablo Edit2:暗黑破坏神II角色编辑器的完整指南 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit 你是否曾为暗黑破坏神II中属性点分配错误而烦恼?是否厌倦了…...

【JavaSE-网络部分06】TCP 纯高性能优化机制:延迟应答・捎带应答【传输层】

上一期咱们把TCP稳如泰山的三大核心机制——滑动窗口、流量控制、拥塞控制彻底盘明白了📚。 这三者强强联手,既守住了可靠传输的底线,又大幅提升传输效率,让数据既稳又快地跑在网络里。 但TCP对性能的“抠搜”可不止于此&#x1f…...

如何无缝迁移HMCL配置?告别重复配置的4个关键策略

如何无缝迁移HMCL配置?告别重复配置的4个关键策略 【免费下载链接】HMCL A Minecraft Launcher which is multi-functional, cross-platform and popular 项目地址: https://gitcode.com/gh_mirrors/hm/HMCL 更换设备时,Minecraft玩家面临的最大挑…...

手把手教你用B站NFT工具设置小钻石头像(含最新工具下载与使用指南)

手把手教你用B站NFT工具设置小钻石头像(含最新工具下载与使用指南) 在数字藏品风靡的当下,B站推出的NFT小钻石头像成为了许多用户展示个性的新选择。不同于传统的头像设置,NFT头像不仅具有独特的收藏价值,还能在B站社…...

告别轮询!用STM32 HAL库的LIN主机模式,轻松实现汽车车窗控制(附完整代码)

告别轮询!用STM32 HAL库的LIN主机模式,轻松实现汽车车窗控制 在汽车电子系统中,车窗控制看似简单,实则涉及复杂的通信协议和实时性要求。传统方案依赖硬连线或轮询机制,不仅布线复杂,还难以扩展。LIN总线作…...

突破散热瓶颈:TCC-G15实战全解析——让Dell G15性能持久释放

突破散热瓶颈:TCC-G15实战全解析——让Dell G15性能持久释放 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 游戏本过热导致性能骤降、风扇噪音失控…...

Python爬虫实战:手把手教你古文字字形索引全量采集与图文数据库构建!

㊗️本期内容已收录至专栏《Python爬虫实战》,持续完善知识体系与项目实战,建议先订阅收藏,后续查阅更方便~ ㊙️本期爬虫难度指数:⭐ (基础入门篇) 🉐福利: 一次订阅后,专栏内的所有…...

DAMO-YOLO模型微调指南:自定义数据集训练

DAMO-YOLO模型微调指南:自定义数据集训练 1. 引言 目标检测是计算机视觉领域的核心任务之一,而DAMO-YOLO作为阿里巴巴达摩院推出的高效检测框架,在精度和速度方面都表现出色。但预训练模型往往无法直接满足特定场景的需求,这时候…...

Z-Image-Turbo广告设计:多语言海报生成系统

Z-Image-Turbo广告设计:多语言海报生成系统 1. 引言 电商商家每天需要制作大量商品海报,人工设计成本高且效率低。传统设计流程需要找设计师、反复沟通修改,一张海报从构思到完成往往需要数小时甚至数天时间。对于需要覆盖多个市场的品牌来…...

MT5工具实战:快速生成文案变体,提升内容创作效率

MT5工具实战:快速生成文案变体,提升内容创作效率 1. 为什么你需要文案变体生成工具? 在日常内容创作中,我们经常面临一个共同挑战:如何用不同方式表达相同的意思。无论是营销文案、产品描述还是社交媒体内容&#xf…...

Course17:SGLang 深度优化:Radix 缓存与复杂任务的极致吞吐

SGLang vs vLLMvLLM 的高并发原理:PagedAttention(解决 KV Cache 碎片)Continuous Batching(解决 GPU 空闲)推测解码(加速 Decode 阶段)> vLLM 解决的是 如何让模型跑得快 的问题。Thinking&…...

如何突破游戏外设限制?ViGEmBus虚拟手柄驱动技术全攻略

如何突破游戏外设限制?ViGEmBus虚拟手柄驱动技术全攻略 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 在游戏世界中,硬件兼容性问题…...

免费文档下载终极指南:kill-doc 让您轻松获取全网文档资源

免费文档下载终极指南:kill-doc 让您轻松获取全网文档资源 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为…...

Blender 3MF插件完整指南:轻松实现3D打印文件导入导出

Blender 3MF插件完整指南:轻松实现3D打印文件导入导出 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 如果你正在寻找一个能让你在Blender中轻松处理3D打印文…...

专业术语统计报告_多种能源发电协同发展管控模型及大数据分析研究

专业术语统计报告_多种能源发电协同发展管控模型及大数据分析研究 一、概要简析 【概要分析】 本文档《多种能源发电协同发展管控模型及大数据分析研究》围绕研究主题展开系统性的探讨。文档总字符数达141569,其中中文字符80856个,英文字词5332个&#x…...

快速上手Qwen-Image-2512-ComfyUI:ComfyUI界面操作,小白也能轻松出图

快速上手Qwen-Image-2512-ComfyUI:ComfyUI界面操作,小白也能轻松出图 1. 准备工作与环境搭建 1.1 了解Qwen-Image-2512-ComfyUI Qwen-Image-2512-ComfyUI是阿里开源的最新图像生成模型,通过ComfyUI图形界面让AI绘画变得简单直观。这个镜像…...

Qwen3-14B Python数据分析环境配置:Anaconda与PyCharm集成

Qwen3-14B Python数据分析环境配置:Anaconda与PyCharm集成 1. 为什么需要专业的数据分析环境 在开始使用Qwen3-14B进行数据分析和AI应用开发前,搭建一个稳定、隔离的Python环境至关重要。想象一下,你正在装修房子,Anaconda就是你…...

非开发者终于拥有了自己的“后台 AI 代理”

一位财务总监每周一都要花 90 分钟手动清洗 150 行 Excel 数据:去重、统一日期格式、把文字评级转成数字。 他明明知道 AI 能帮忙,却只在 Perplexity 里敲一句“帮我分析这份数据”,得到一段总结后就关掉标签,继续手动操作。 开发…...

LaTeX公式一键转换Word:学术写作的效率革命

LaTeX公式一键转换Word:学术写作的效率革命 【免费下载链接】LaTeX2Word-Equation Copy LaTeX Equations as Word Equations, a Chrome Extension 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX2Word-Equation 作为一名研究生,你是否曾经为…...

PyTorch 2.8动态计算图深度解析:自定义算子与性能优化技巧

PyTorch 2.8动态计算图深度解析:自定义算子与性能优化技巧 1. 动态计算图的核心魅力 PyTorch的动态计算图一直是其区别于其他深度学习框架的标志性特性。在2.8版本中,这个机制变得更加灵活高效。简单来说,动态计算图就像一张可以随时修改的…...

Qwen3-14B私有部署镜像:Android Studio移动端AI应用原型开发

Qwen3-14B私有部署镜像:Android Studio移动端AI应用原型开发 1. 移动端AI应用开发新选择 最近在开发一个需要集成大语言模型的Android应用时,发现很多开发者都在寻找既强大又容易集成的AI解决方案。Qwen3-14B作为一款性能优异的中文大模型,…...