HTTP相关
HTTP
什么是http - 蘑菇声活
http特点
1.基于TCP协议之上的应用层协议
2.基于请求--响应
3.无状态(每次发送请求对服务端都是新的)
4.无/短连接(客户端不会一直跟服务端连接)
http请求协议与响应协议
请求协议
请求首行:请求方式,请求地址,请求协议版本
请求头:key-value形式
请求体:get请求一般没有请求体,post请求有请求体
响应协议
响应首行:协议版本,响应状态码,响应描述符 HTTP/1.1 200 OK\r\n
响应头
响应体:一般给HTML标签
http各个版本间的差别
0.9 版本
特点:
1、最早出现的一个版本
2、只支持 GET 请求
3、只支持传输 HTML 的数据格式
4、无状态性(客户端发送请求,服务端接受请求并返回结果给客户端后,客户端和服务端的链接会马上断开)
缺点:
1、只支持 GET 方法单一
2、只支持服务端返回 HTML
1.0 版本
1.0 的版本出现是为了解决 0.9 版本的缺陷问题
优点:
1、支持 GET POST 和 HEAD
2、支持传入多种数据格式(视频、图片、二进制等)
3、新增状态码、缓存等
缺点:
1、一个 TCP 链接只能发送一个请求
1.1 版本
1.1 版本的出现是为了解决 1.0 版本的缺陷
优点:
1、持久性连接,即 TCP 连接不关闭,可以被多个请求复用
2、管道机制(同一个 TCP 连接,客户端可以同时发送多个请求)
3、新增了一些请求方法: PUT DELETE OPTIONS
缺点:
1、会造成队头阻塞问题(虽然同一个TCP 可以同时发送多个请求,但是服务端还是会一个一个请求进行处理进行返回,如果上一个返回延迟,会阻塞后面的流程)
2.0 版本
优点:
1、二进制传输(1.1 版本是通过文本进行传输,内容不能分开传递,2.0版本将请求的数据转换成二进制格式,然后标记索引,将数据包分成一片一片,相当于并发传输数据给到服务端)
2、多路复用(多个请求通过一个 TCP 连接)
3、头部压缩 (多个请求中,可能会存在相同的请求头,于是在客户端和服务端维护一张静态表,通过索引来将多个请求中的请求字段合并,传递时,只需传递索引即可)
4、服务器端推送(浏览器刚请求 HTML 时,就会把可能用到的 CSS JS 发送给客户端,减少等待的延迟)
缺点:
1、队头阻塞
3.0 版本
3.0 不同于以往的版本,基于谷歌的QUIC,底层是基于 UDP 协议
优点:
1、基于UDP,提高了传输效率,降低延迟(没有三次握手和四次挥手)
2、使用stream进一步扩展HTTP2.0 的多路复用,传输多少文件就可以产生多少stream,若发生丢包,只需要传输丢失的stream
相关文章:
HTTP相关
HTTP 什么是http - 蘑菇声活 http特点 1.基于TCP协议之上的应用层协议 2.基于请求--响应 3.无状态(每次发送请求对服务端都是新的) 4.无/短连接(客户端不会一直跟服务端连接) http请求协议与响应协议 请求协议 请求首行&…...
Armv8.x和Armv9.x架构扩展简介
目录 一、概述 二、Armv8.x和Armv9.x是什么意思? 三、为什么我们需要.x扩展? 四、处理器实现...
node的proxy-server使用
代理服务器是一种常见的网络工具,可以用来隐藏客户端的真实IP地址,保护客户端的隐私,也可以用来绕过一些网络限制,访问被封锁的网站。在这篇博客文章中,我们将讲解代理服务器的API基本使用流程和思路,以及代…...
FO-like Transformation in QROM Oracle Cloning
参考文献: [RS91] Rackoff C, Simon D R. Non-interactive zero-knowledge proof of knowledge and chosen ciphertext attack[C]//Annual international cryptology conference. Berlin, Heidelberg: Springer Berlin Heidelberg, 1991: 433-444.[BR93] Bellare M…...
Redis - 多数据源切换
问题描述 最近遇到一个 Redis 多数据源切换问题,不过我这个没有那么动态切换需求,所以就写了一种比较硬编码的方式来做『切换』 其实大概的场景是这样的:不同的开发环境调用 db0、生产环境调用 db1,但是因为业务原因,…...
采集工具-免费采集器下载
在当今信息时代,互联网已成为人们获取信息的主要渠道之一。对于研究者和开发者来说,如何快速准确地采集整个网站数据是至关重要的一环。以下将从九个方面详细探讨这一问题。 确定采集目标 在着手采集之前,明确目标至关重要。这有助于确定采集…...
使用MD5当做文件的唯一标识,这样安全么?
使用MD5作为文件唯一标识符可靠么? 文章目录 使用MD5作为文件唯一标识符可靠么?什么是MD5?MD5的用途MD5作为文件唯一标识的优劣优势劣势 使用MD5作为文件唯一标识的建议其他文件标识算法结束语 什么是MD5? MD5(Messag…...
【算法通关村】链表基础经典问题解析
【算法通关村】链表基础&经典问题解析 一.什么是链表 链表是一种通过指针将多个节点串联在一起的线性结构,每一个节点(结点)都由两部分组成,一个是数据域(用来存储数据),一个是指针域&…...
【华为OD题库-056】矩阵元素的边界值-java
题目 给定一个N * M矩阵,请先找出M个该矩阵中每列元素的最大值,然后输出这M个值中的最小值 补充说明: N和M的取值范围均为: [0,100] 示例1: 输入: [[1,2],[3,4]] 输出: 3 说明: 第一列元素为:1和3,最大值为3 第二列元素为: 2和4,最…...
zabbix_sender——向zabbix交互的sdk
zabbix给我们提供了win32的交互方法。地址为src\zabbix_sender\win32\zabbix_sender.c zabbix_sender_send_values 函数声明为: int zabbix_sender_send_values(const char *address, unsigned short port, const char *source,const zabbix_sender_value_t *values...
JDBC概述(什么是JDBC?JDBC的原理、Mysql和Sql Server入门JDBC操作)
Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍JDBC概述(什么是JDBC?JDBC的原理、Mysql和Sql Server入门JDBC操作)简单知识以及部分理论知识 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 &am…...
【android开发-06】android中textview,button和edittext控件的用法介绍
1,TextView控件使用代码参考用例 在Android中,我们通常使用XML来定义布局和设置视图属性。以下是一个TextView的XML布局设置示例: 1.1在res/layout目录下的activity_main.xml文件中定义一个TextView: <TextView android:id…...
【JMeter】BeanShell了解基础知识
1. BeanShell是什么? 完全符合java语法的免费,可嵌入式的脚本语言 2.BeanShell用法 操作变量,使用vars内置对象 String 自定义变量名 vars.get("变量名") 从jmeter中获取变量值并定义一个变量接收vars.put(…...
Unity | 渡鸦避难所-0 | 创建 URP 项目并导入商店资源
0 前言 知识点零零碎碎,没有目标,所以,一起做游戏吧 各位老师如果有什么指点、批评、漫骂、想法、建议、疑惑等,欢迎留言,一起学习 1 创建 3D(URP)项目 在 Unity Hub 中点击新项目ÿ…...
SQL Server数据库部署
数据库简介 使用数据库的必要性 使用数据库可以高效且条理分明地存储数据,使人们能够更加迅速、方便地管理数据。数据库 具有以下特点。 》可以结构化存储大量的数据信息,方便用户进行有效的检索和访问。 》 可以有效地保持数据信息的一致性,…...
YOLOv8界面-目标检测+语义分割+追踪+姿态识别(姿态估计)+界面DeepSort/ByteTrack-PyQt-GUI
YOLOv8-DeepSort/ByteTrack-PyQt-GUI:全面解决方案,涵盖目标检测、跟踪和人体姿态估计 YOLOv8-DeepSort/ByteTrack-PyQt-GUI是一个多功能图形用户界面,旨在充分发挥YOLOv8在目标检测/跟踪和人体姿态估计/跟踪方面的能力,与图像、…...
MiniDumpWriteDump函数生成dmp文件
MiniDumpWriteDump函数生成dmp文件 一:概述二: CreateDump.h三:CreateDump.cpp四:main测试五:winDbg分析 一:概述 v2008及以上版本都可以用。 包含CreateDump.h,CreateDump.cpp文件,…...
【Qt开发流程】之事件系统1:事件系统描述及事件发生流程
Qt的事件系统 在Qt中,事件是对象,派生自抽象的QEvent类,它表示应用程序内部发生的事情或作为应用程序需要知道的外部活动的结果。事件可以由QObject子类的任何实例接收和处理,但它们与小部件特别相关。以下描述了在典型应用程序中…...
初始数据结构(加深对旋转的理解)
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/rotate-array/submissions/ 与字…...
Android 13 - Media框架(18)- CodecBase
从这一节开始我们会回到上层来看ACodec的实现,在这之前我们会先了解ACodec的基类CodecBase。CodecBase.h 中除了声明有自身接口外,还定义有内部类 CodecCallback、BufferCallback,以及另一个基类 BufferChannelBase,接下来我们会一…...
告别重复配置:用快马AI自动化生成规范化的软件安装包项目
今天想和大家分享一个提升开发效率的小技巧——如何用InsCode(快马)平台快速生成规范化的Python安装包项目。作为一个经常需要打包工具给团队使用的开发者,我深刻体会到手动配置各种安装文件的痛苦,直到发现了这个能自动化生成项目骨架的神器。 传统安装…...
STM32F407 ADC实战:从CubeMX配置到高精度电压采集
1. STM32F407 ADC基础与核心概念 ADC(模数转换器)是嵌入式开发中最常用的外设之一,它就像电子系统的"味蕾",负责将现实世界的模拟信号(如温度、压力、光照)转换为单片机能够理解的数字信号。STM3…...
保姆级教程:在CentOS 8 Stream上从零部署Zabbix 6.4监控系统(Nginx+MariaDB 10.6+PHP 7.4)
企业级监控系统实战:CentOS 8 Stream上部署Zabbix 6.4全栈指南 在数字化转型浪潮中,IT基础设施监控已成为企业运维的核心支柱。Zabbix作为开源监控领域的标杆产品,其6.4版本带来了更强大的自动发现机制和可视化功能。本文将手把手带您完成从裸…...
OpenCV透视变换实战:从文档矫正到AR应用
1. 透视变换基础:从原理到生活场景 想象一下你正在用手机拍摄一张放在桌上的发票,由于角度问题,发票在照片里变成了梯形。这时候你需要的正是透视变换——它能把这个梯形"掰正"成规整的矩形。在计算机视觉领域,透视变换…...
Vue3+TS+Vite项目实战:5分钟搞定Mock数据接入(附完整代码)
Vue3TSVite项目实战:5分钟实现动态权限Mock系统 最近在重构后台管理系统时,遇到一个典型痛点:前端页面都开发完了,后端接口还在设计中。这种前后端进度不匹配的情况,相信每个前端开发者都深有体会。今天分享的这套Mock…...
Windows DLL注入工具Xenos全攻略:从原理到实践的系统指南
Windows DLL注入工具Xenos全攻略:从原理到实践的系统指南 【免费下载链接】Xenos Windows dll injector 项目地址: https://gitcode.com/gh_mirrors/xe/Xenos 一、技术原理:Xenos注入引擎的底层架构 1.1 三级注入引擎的工作机制 Xenos作为专业的…...
iOS激活锁终极绕过:3步解锁Apple设备完整指南
iOS激活锁终极绕过:3步解锁Apple设备完整指南 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 你是否曾经遇到过这样的情况:购买了一台二手iPhone,却发现它被原主人的…...
DLSS Swapper实战指南:高效管理DLSS版本3步达成游戏性能跃升
DLSS Swapper实战指南:高效管理DLSS版本3步达成游戏性能跃升 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 当你在4K分辨率下启动《赛博朋克2077》,满心期待沉浸在夜之城的霓虹中时,…...
在Windows上直接安装Android应用:APK-Installer完整使用指南
在Windows上直接安装Android应用:APK-Installer完整使用指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想在Windows电脑上运行Android应用&…...
小白友好:Qwen-Image-Layered快速部署,轻松实现AI图片元素分离
小白友好:Qwen-Image-Layered快速部署,轻松实现AI图片元素分离 你是否遇到过这样的情况:好不容易用AI生成了一张满意的图片,却发现某个元素需要修改,比如想换个背景颜色、调整某个物体的位置,或者改变文字…...
