http各个版本的区别

2023-11-06

http进化史

http0.9:
只有GET请求,也不支持请求头信息
请求信息只有下面一行
GET www.baidu.com

http1.0:
在请求中指定版本号,支持GET、POST、HEAD

http1.1:
http1.1新增了:OPTIONS、PUT、DELETE、TRACE、CONNECT五种HTTP请求方法。
需要指定host头:
长连接:
缓存策略不同:
新增了24个错误状态码:

http2:
二进制传输:http1.x的解析是基于文本,http2的解析是基于二进制;
多路复用:
header压缩:
服务端推送:
参考文章 https://www.cnblogs.com/qcloud1001/p/9370493.html

https:
http是一种超文本传输协议,默认端口是80,进行明文传输并且是无状态的,存在安全问题
https是一种安全超文本传输协议,默认端口是443,https是基于ssl和http构建的能够进行加密传输和身份认证的网络传输协议,需要购买ca证书以进行身份验证,同时证书认证过程是基于非对称加密,内容传输过程是基于对称加密的过程;
https介绍参考这篇文章https://www.cnblogs.com/imstudy/p/12015889.html

http 8种请求方式的区别

get:从服务器请求指定资源,不会产生非幂等的副作用;
head: 和get请求一样从服务器获取资源,但是不返回资源的内容部分,只返回服务的响应头;

post:用于向服务器提交提交数据,更新资源,会产生非幂等的副作用;
put:上传完整的资源到服务进行整体更新;

delete:删除指定资源;

trace:测试或诊断服务收到的请求信息,所以会返回你发送的请求内容;

options:测试服务支持所有请求的方法,返回响应的内容为:
Allow: HEAD,GET,PUT,DELETE,OPTIONS
通过cors进行跨域时,会使用options发送嗅探请求,以确认是否有对该资源的访问权限;

connect:http1.1预留给能够将请求改为管道方式的代理服务器;

patch:和put一样用于对资源的更新,区别如下:
put是对资源的整体更新,patch是部分更新;
put只会对已存在的资源进行更新,patch在资源不存在时会创建新的资源;

http1.1的长连接和http2.0的多路复用的区别?

http1.1之前一次请求就会建立一次连接,http1.1通过管道化方式实现多个请求串行化共享同一个连接,但是一旦某个请求耗时严重,就导致后面的请求被阻塞,俗称线头阻塞;

http2.0多个请求共享同一个连接,并且是并行的,所有请求不会影响其他请求;

http content-type值的常见类型有哪些?

请求头中的content-type表示客户端发送的数据格式以及编码类型,告诉服务以什么样的格式解析;
响应头中的content-type表示服务端实际返回的数据格式及编码类型;

Content-Type: text/plain;charset=UTF-8
content-type: text/html; charset=UTF-8
Content-Type: text/xml;charset=UTF-8
content-type: image/jpeg; charset=UTF-8
content-type: image/png; charset=UTF-8
content-type: image/gif; charset=UTF-8

下面这两种是提交表单数据时通过表单的enctype属性指定

<form action="url" enctype="multipart/form-data" method="post"></form>
//form表单中有文件上传控件时
content-type: multipart/form-data; charset=UTF-8
//form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
content-type: application/x-www-form-urlencoded; charset=UTF-8

content-type: application/json; charset=UTF-8

cookie和sesssion的区别?

http是无状态的,但是有的时候服务需要识别客户端的身份,这个时候cookie出现了;浏览器在访问服务后,服务器会生成cookie或者session,浏览器均以cookie的形式存储下来(session一般是把sessionId当成cookie存在cookie中,具体的数据是保存在服务器端的,浏览器请求时会带上sessionId,服务器通过sessionId查询数据),session的默认有效期是浏览器的会话期以及服务设置的session有效期的最短时间;大部分session保存在内存中,cookie保存在用户本地电脑中;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

http各个版本的区别 的相关文章

随机推荐

  • 详解从0开始的嵌入式学习路线,学什么、怎么学?

    嵌入式是个大筐 什么都可以往里面装 电子 机械 计算机 自动化 测控 通信 物联网 很多很多专业都和嵌入式沾边 硬件 驱动 操作系统 网络 应用 算法 很多同学越学越迷糊 越学越感觉什么也不会 首先要记住一句话 嵌入式学习奥义 先观其广 再
  • osgEarth的Rex引擎原理分析(五十八)osgEarth::ShaderFactory osgEarth::ShaderLoader关系

    目标 五十四 中的问题130 osgEarth ShaderFactory osgEarth ShaderLoader关系 ShaderFactory主要用来产生各个着色器阶段的main函数 一般用户不需要直接使用它 除非有特殊的定制需要
  • [CTF]抓住那只猫(XCTF 4th-WHCTF-2017)

    原作者 darkless 题目描述 抓住那只猫 思路 打开页面 有个输入框输入域名 输入baidu com进行测试 发现无任何回显 输入127 0 0 1进行测试 发现已经执行成功 执行的是一个ping命令 一开始想的应该是命令拼接执行 但
  • React18的useEffect会执行两次

    React18的useEffect会执行两次 一 执行两次的useEffect 二 React18 useEffect 新特性 如何应对 1 首先先了解一下 React 中 useEffect 执行的时机 2 怎么样才能让 Effect 执
  • 0101日志-运维-mysql

    1 错误日志 错误日志 Error Log 错误日志记录了MySQL引擎在运行过程中出现的错误和异常情况 这些错误可能包括启动和关闭问题 数据库崩溃 权限问题等 错误日志对于排查和解决MySQL引擎问题非常有帮助 改日志默认开启 默认存放目
  • 知识科普:什么是AGI?

    原文链接 最近ChatGPT大火 火到原来卖酒卖保险的人也都开始直播聊ChatGPT了 其中大家或多或少会提到一个词 AGI 看清楚不是GAI也不是AIGC 今天就和大家聊聊AGI是什么 AGI最近经常被提到 主要是因为ChatGPT的开发
  • 网络编程——TCP

    网络编程 TCP TCP编程 TCP是一种可靠的 基于连接的网络协议 它是面向字节流的 即从一个进程到另一个进程的二进制序列 一条TCP连接需要两个端点 这两个端点需要分别建立各自的套接字 通常一方用于发送请求和数据 称为客户端 另一方用于
  • Pickle 详解

    那么为什么需要序列化和反序列化这一操作呢 1 便于存储 序列化过程将文本信息转变为二进制数据流 这样就信息就容易存储在硬盘之中 当需要读取文件的时候 从硬盘中读取数据 然后再将其反序列化便可以得到原始的数据 在Python程序运行中得到了一
  • STM32开发(十九)STM32F103 数据手册 —— 低功耗模式解析

    上一篇 主目录 下一篇 文章目录 低功耗介绍 stm32 供电框图 低功耗模式 睡眠模式 停止模式 待机模式 低功耗模式汇总 低功耗介绍 系统复位或上电复位后 微控制器进入运行模式 在运行模式下 CPU通过HCLK提供时钟 并执行程序代码
  • Apollo学习笔记(21)图的深度优先遍历(DFS)和广度优先遍历(BFS)算法分析

    首先奉上大神链接 https www cnblogs com qzhc p 10291430 html 由于最近在看轨迹规划的资料 图遍历是基础 故拜读了大神的一些文章 在此记录 深度优先遍历 深度优先遍历 Depth First Sear
  • Vim常用操作快捷键记录

    经常忘记vim的一些操作快捷键 现在将其记录起来 方便以后查阅 这里定义以文本右方向为前 文本左方向为后 上下左右方向键 k j h l 以 字 为步长向前跳动 到达字首 w 以 字 为步长向后跳动 到达字首 b 以 字 为步长向前跳动 到
  • 共享计算机的网络凭证,win10设置共享文件夹时显示要网络凭证

    一 共享文件夹所在电脑设置 1 右键我的电脑 管理 系统工具 本地用户和组 用户 中间空白区域右键 新用户 2 输入自设的用户名和密码 如图勾选 创建 3 右键需要共享的文件见 安全 编辑 4 点击添加 5 输入新建的用户名 test 检查
  • 失业的程序员(九):正文篇:创业就是一场戏

    http www shenyisyn org 2013 04 23 tjp 2 htm 一 正文 跨入电商 说到我家人 我父母都是小学教师 对我从小管教无比严厉 他们希望我将来也能子承父业或者母业 并且更希望将来我的子女也能如此继承着 用句
  • 【1002】写出这个数

    题目链接 写出这个数 算法 include
  • 【数据集处理】WiderPerson介绍以及转YOLO格式(图片教程及代码----超详细)

    WiderPerson转YOLO格式 WiderPerson介绍 原论文中数据信息 下载后的文件样式 Annotations WiderPerson转YOLO 数据集下载地址 转格式以及选取类别 关于txt文件的处理 直接运行 生成yolo
  • 【网络安全】黑客自学笔记

    1 前言 作为一个合格的网络安全工程师 应该做到攻守兼备 毕竟知己知彼 才能百战百胜 计算机各领域的知识水平决定你渗透水平的上限 1 比如 你编程水平高 那你在代码审计的时候就会比别人强 写出的漏洞利用工具就会比别人的好用 2 比如 你数据
  • Feign远程调用注意事项

    Feign 远程查询失败 不需要回滚 CPU密集型和 IO密集型 CPU涉及的是计算能力 IO是文件读取类型的这种
  • 共识算法 --- PBFT、Raft和Paxos

    目录 一 Raft共识算法 1 什么是Raft 2 Raft的工作流程 3 Raft的相关应用 4 Raft的缺陷 5 Raft中三个子问题 5 1 Leader选举 Election 5 1 1 节点的三种角色 5 1 2 选举过程 5
  • 字节是真的难进,测开4面终上岸,压抑5个月,终于可以放声呐喊

    这次字节的面试 给我的感触很深 意识到基础的重要性 一共经历了五轮面试 技术4面 HR面 下面看正文 本人自动专业毕业 压抑了五个多月 终于鼓起勇气 去字节面试 下面是我的面试过程 很多面试题 都是靠记忆写的 希望能帮助到大家 致那些努力的
  • http各个版本的区别

    http进化史 http0 9 只有GET请求 也不支持请求头信息 请求信息只有下面一行 GET www baidu com http1 0 在请求中指定版本号 支持GET POST HEAD http1 1 http1 1新增了 OPTI