HTTP1.0和HTTP1.1

2023-10-27

什么是HTTP?

http是一个超文本传输协议,它是基于TCP协议的应用层传输协议,简单点说就是客户端和服务端进行数据传输的一种规则。
http是一个无状态协议,它本身不会对发送过得请求和响应的通信状态进行持久化处理。这样做的目的是为了保持http协议的简单性,从而能够快速处理大量的事务,提高效率。

一个HTTP请求包括三个组成部分:

1.统一资源标识符(URI)
2.请求的头部(request header)
3.主体内容 (request body)

一个标准的HTTP请求:

1、GET /index.html HTTP/1.1
2、Host: 127.0.0.1:8000
3、User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0
4、Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
5、Accept-Language:
zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
6、Accept-Encoding: gzip, deflate
7、Connection: keep-alive
8、Upgrade-Insecure-Requests: 1
9、空行

HTTP响应包括三部分:

1.方法一统一资源标识符号(URI)协议/版本
2.响应的头部
3.主体内容

一个标准的HTTP响应:

服务器 —> 发给 —> 浏览器。主旨内容包含 4 部分:
状态行: 包括 http 协议版本号, 状态码, 状态信息
消息报头: 说明客户端要使用的一些附加信息
空 行: 必须!
响应正文: 服务器返回给客户端的文本信息 以下是经服务器按照 http 协议,写回给浏览器的内容举例,1~9 行是协议头部分。注 意:9 行\r\n 的空行不可忽略

  1. HTTP/1.1 200 Ok
  2. Server: xhttpd
  3. Date: Fri, 18 Jul 2014 14:34:26 GMT
  4. Content-Type: text/plain; charset=iso-8859-1 (必选项) ->内容类型,定义网络文件的类型和编码
  5. Content-Length: 32 ( 要么不写 或者 传-1, 要写务必精确 ! ) ->HTTP的信息长度
  6. Content-Language: zh-CN
  7. Last-Modified: Fri, 18 Jul 2014 08:36:36 GMT
  8. Connection: close ->连接状态
  9. 空行

两者之间的一些区别

1、HTTP 1.1 支持长连接(PersistentConnection)和请求的流水线(Pipelining)处理,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟,在HTTP1.1中默认开启Connection: keep-alive,一定程度上弥补了HTTP1.0每次请求都要创建连接的缺点。

2.、HTTP 1.1 增加host字段
在HTTP1.0中认为每台服务器都绑定一个唯一的IP地址,因此,请求消息中的URL并没有传递主机名(hostname)。但随着虚拟主机技术的发展,在一台物理服务器上可以存在多个虚拟主机(Multi-homed Web Servers),并且它们共享一个IP地址。HTTP1.1的请求消息和响应消息都应支持Host头域,且请求消息中如果没有Host头域会报告一个错误(400 Bad Request)。

3、100状态码(节约带宽)
HTTP/1.1加入了一个新的状态码100(Continue)。客户端事先发送一个只带头域的请求,如果服务器因为权限拒绝了请求,就回送响应码401(Unauthorized);如果服务器接收此请求就回送响应码100,
客户端就可以继续发送带实体的完整请求了。100 (Continue) 状态代码的使用,允许客户端在发request消息body之前先用request header试探一下server,看server要不要接收request body,再决定要不要发request body。
4、HTTP/1.1中引入了Chunked transfer-coding来解决上面这个问题,发送方将消息分割成若干个任意大小的数据块,每个数据块在发送时都会附上块的长度,最后用一个零长度的块作为消息结束的标志。这种方法允许发送方只缓冲消息的一个片段,避免缓冲整个消息带来的过载。
5、HTTP/1.1在1.0的基础上加入了一些cache的新特性,当缓存对象的Age超过Expire时变为stale对象,cache不需要直接抛弃stale对象,而是与源服务器进行重新激活(revalidation)

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

HTTP1.0和HTTP1.1 的相关文章

  • 一个网工(网络工程师)七年的职业血泪史....

    前言 一个工作了七年的老网工 上家公司待了五年 现在这家公司也快三年了 分享一些我自己学习网络安全路上的一些经历 也算是帮大家少走些弯路 一 如何学习网络安全 1 不要试图以编程为基础去学习网络安全 不要以编程为基础再开始学习网络安全 一般
  • 广告竞价策略:激发广告变现潜能的关键

    在数字化时代 广告已经成为企业推广品牌 产品和服务的关键手段之一 为了最大程度地发挥广告的效果 广告竞价策略成为广告主和数字营销专业人士关注的焦点 通过巧妙运用竞价策略 广告主可以在激烈的市场竞争中脱颖而出 实现广告变现的潜能 admaoy
  • 成为一个黑客,就按照这个路线来!

    前几天一个同学在聊天中提到毕业后想要从事网络安全方向的工作 虽然他本身也是学计算机的 但是又怕心有余而力不足 因为 从事网络安全方面的工作向来起点都比较高 大学里少有开设这类课程的 在学校能够学到的知识比较有限 网上的关于这方面课程的质量又
  • 自定义编写zabbix_agent脚本

    vi usr lib systemd system zabbix agent servicce Unit Description Zabbix Agent After syslog target After network target S
  • centos系统有什么好处?

    CentOS是一种基于开源代码的Linux操作系统 它有以下几个优势 1 稳定性 CentOS是一种非常稳定的操作系统 它的代码经过了严格的测试和审查 因此它非常适合作为服务器操作系统使 用 2 安全性 由于CentOS是基于开源代码的操作
  • 基于成本和服务质量考虑的不确定性下,电动汽车充电网络基础设施需求预测和迭代优化的分层框架研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • 5个步骤,教你瞬间明白线程和线程安全

    记得今年3月份刚来杭州面试的时候 有一家公司的技术总监问了我这样一个问题 你来说说有哪些线程安全的类 我心里一想 这我早都背好了 稀里哗啦说了一大堆 他又接着问 那你再来说说什么是线程安全 然后我就GG了 说真的 我们整天说线程安全 但是对
  • 线程安全(中)--彻底搞懂synchronized(从偏向锁到重量级锁)

    接触过线程安全的同学想必都使用过synchronized这个关键字 在java同步代码快中 synchronized的使用方式无非有两个 通过对一个对象进行加锁来实现同步 如下面代码 synchronized lockObject 代码 对
  • WEB前端常见受攻击方式及解决办法总结

    一个网址建立后 如果不注意安全问题 就很容易被人攻击 下面讨论一下集中漏洞情况和放置攻击的方法 一 SQL注入 所谓的SQL注入 就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串 最终达到欺骗服务器执行恶意的SQL命
  • 用户数据中的幸存者偏差

    幸存者偏差 Survivorship bias 是一种常见的逻辑谬误 意思是没有考虑到筛选的过程 忽略了被筛选掉的关键信息 只看到经过筛选后而产生的结果 先讲个故事 二战时 无奈德国空防强大 盟军战机损毁严重 于是军方便找来科学家统计飞机受
  • messages,CentOS 7不收集日志或不存在 /var/log/messages

    var log message var log secure等都不记录了 并且都是空文件 重启机器 reboot 无效 重启日志 systemctl start rsyslog 无效 怀疑空间不足 删除 var log messages 重
  • 2024年金三银四网络安全考试试题

    2023年金三银四网络安全考试试题 1 关于数据使用说法错误的是 A 在知识分享 案例中如涉及客户网络数据 应取敏感化 不得直接使用 B 在公开场合 公共媒体等谈论 传播或发布客户网络中的数据 需获得客户书面授权或取敏感化 公开渠道获得的除
  • Jmeter 性能-并发量计算

    并发概念 指网站在同一时间访问的人数 人数越大瞬间带宽要求更高 服务器并发量分为 业务并发用户数 最大并发访问数 系统用户数 同时在线用户数 估算业务并发量的公式 C nL T C C 3 C的平方根 说明 C是平均的业务并发用户数 n是l
  • 通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理

    文章目录 1 什么是DES 2 DES的基本概念 3 DES的加密流程 4 DES算法步骤详解 4 1 初始置换 Initial Permutation IP置换 4 2 加密轮次 4 3 F轮函数 4 3 1 拓展R到48位 4 3 2
  • 【信道估计】【MIMO】【FBMC】未来移动通信的滤波器组多载波调制方案(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及文章
  • 【网安神器篇】——WPScan漏洞扫描工具

    目录 一 Wordpress简介 二 WPScan介绍 三 安装 四 获取token 1 注册账号 2 拿到token 五 使用教程 1 常用选项 2 组合命令 1 模糊扫描 2 指定扫描用户 3 插件漏洞扫描 4 主题漏洞扫描 5 Tim
  • HPE Aruba Networking:五大网络现代化策略助力实现校园数字化转型

    作者 Aruba中国区技术销售总监 俞世丹 全球数字化进程日益加深 科技已成为加速教育行业发展的重要驱动力 人工智能 大数据 云计算 物联网 虚拟现实等新兴技术的快速发展 正在深刻改变着教育的形态和模式 为了更好地满足学校师生个性化教育教学
  • Vue 如何使用WebSocket与服务器建立链接 持续保持通信

    WebSocket 浏览器通过JavaScript向服务器发出建立WebSocket链接的请求 链接建立后 客户端和服务器端就可以通过TCP链接直接交互数据 WebSocket链接后可以通过 send 方法来向服务器发送数据 并通过 onn
  • 国外拨号VPS指南:开启你的全球网络之旅

    在当今数字化时代 互联网已经成为了我们生活的一部分 而要在全球范围内畅通无阻地访问互联网 拥有一个可靠的国外拨号VPS是非常重要的 无论您是为了工作 学习还是娱乐 国外拨号VPS都可以为您提供更广泛的网络体验 本文将为您提供国外拨号VPS的
  • 2023下半年软考「单独划线」合格标准公布

    中国计算机技术职业资格网发布了 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告 2023下半年软考单独划线地区合格标准各科目均为42分 01 官方通告 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告

随机推荐

  • MySQL类型定义 - 字符串类型

    1 char类型 1 CHAR类型和VARCHAR类型 CHAR类型和VARCHAR类型都在创建表时指定了最大长度 其基本形式如下 字符串类型 M 其中 字符串类型 参数指定了数据类型为CHAR类型还是VARCHAR类型 M参数指定了该字符
  • 数据结构 —七大排序算法(图文详细版)

    文章目录 前言 一 插入排序 1 直接插入排序 1 原理 2 实现 3 稳定性 时间复杂度 2 希尔排序 1 原理 2 具体实现 3 稳定性 时间复杂度 二 选择排序 1 直接选择排序 1 原理 2 具体实现 3 稳定性 时间复杂度 4 优
  • chromebook刷_使用Chromebook编码

    chromebook刷 Chromebooks are awesome They re relatively simple and inexpensive devices that run Chrome OS a stripped down
  • 【linux】基本工具gcc/g++及Makefile

    文章目录 一 程序翻译过程 1 程序的翻译过程 2 理解选项的含义 3 动态链接与静态链接 二 Linux项目自动化构建工具 make Make le 1 背景 2 实例说明 3 原理 4 语法 5 为什么gcc不更新文件 6 推导规则 三
  • eclipse svn 忽略文件夹

    以忽略 target 文件夹为例 window gt preferences gt team gt Ignored Resource gt Add Pattern gt 新建一个 target gt ok 再次同步可见traget下所有文件
  • 2023华为OD机试真题Java实现【食堂供餐/二分法】

    题目内容 某公司员工食堂以盒饭方式供餐 为将员工取餐排队时间降低为0 食堂的供餐速度必须要足够快 现在需要根据以往员工取餐的统计信息 计算出一个刚好能达成排队时间为0的最低供餐速度 即 食堂在每个单位时间内必须至少做出多少份盒饭才能满足要求
  • 假如让你来设计SSL/TLS协议

    前言 说起网络通信协议 相信大家对 TCP 和 HTTP 都很熟悉 它们可以说是当今互联网通信的基石 但是 在网络安全方面 它们却是有着很大安全风险 窃听风险 第三方攻击者可以随意窃听通信内容 比如获取支付账号密码 冒充风险 第三方攻击者可
  • 在 WSL2 上部署 PyTorch

    开发项目需要使用AI 但是我习惯用 VMware 来开发各类项目 于是查到 Enable NVIDIA CUDA on WSL 可以实现 CUDA VGPU 的功能 但是国内对这类资料较少 我就想顺便补个空白 在 WSL2 上部署 PyTo
  • <金融产品>京东金融2015年战略主攻三大方向:股权众筹、农村金融和校园金融...

    导读 2014年是京东金融全力奔跑的一年 2015年京东金融业务将会在三个方面发力 上线股权众筹平台 发力农村金融和校园金融 2014年 凭借京东白条 京保贝 京东众筹等产品 京东金融迅速在互联网金融领域占领一席之地 京东CEO刘强东对京东
  • 阅读论文的方法

    清单一 系统阅读论文的方法 1 试着找个安静的地方呆上几个小时 拿上你最喜欢的饮料 可能是咖啡 茶 或者别的什么东西 我经常在咖啡厅里工作 2 从阅读标题和摘要开始 目的是获得论文的高层次概述 作者的主要目标是什么 以及一些实验结果 摘要通
  • 华为OD机试真题B卷 Java 实现【计算礼品发放的最小分组数目】,附详细解题思路

    一 题目描述 又到了一年的末尾 项目组让小明负责新年晚会的小礼品发放工作 为使得参加晚会的同时所获得的小礼品价值相对平衡 需要把小礼品根据价格进行分组 但每组最多只能包括两件小礼品 并且每个分组的价格总和不能超过一个价格上限 为了保证发放小
  • npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\licc\package.json'

    问题描述 在项目中使用npm安装gulp时报异常 node modle文件夹出不来 异常输出如下 npm WARN enoent ENOENT no such file or directory open C Users licc pack
  • yolov5+opencv+java:通过DJL在maven项目中使用yolov5的小demo

    目录 前言 环境 导出yolov5s模型 编写Maven项目 编写pom xml文件 引入opencv依赖 下载opencv 获取opencv的jar包和动态链接库dll文件 将lib文件夹添加为Library 将yolov5权重文件放到资
  • C 中strcpy和memcpy的区别

    参考博客 https blog csdn net zcyzsy article details 53190691 https www cnblogs com metootxy p 3185000 html 一 以下是具体使用memcpy这个
  • 浅谈 Computed和Watch的区别

    computed 计算属性 类似于过滤器 对绑定到试图的数据进行处理 并监听变化进而执行对应的代码 基于它的依赖缓存 只有相关依赖发生改变时才会重新取值 而使用methods时 在重新渲染的时候 函数总会重新调用执行 computed属性默
  • Linux 虚拟化网络技术 — 虚拟网线(Veth-pair)

    虚拟网线 Veth pair Veth pair 不是一个设备 而是一对设备 作为虚拟网线用于连接两个虚拟网络设备 veth pair 是根据数据链路层的 MAC 地址对网络数据包进行转发的过程来实现的 本质是反转通讯数据的方向 需要发送的
  • C++Easyx教程(一)——如何在DEV-C++里安装Easyx库

    本文作者 C 橙羊 本文代码适合编译环境 DEV C 温馨提示 此文乃作者心血 如要转载请标注版权 否则视为抄袭 今天就算是我们Easyx教程的第一篇博文的诞生日了 那么今天橙羊就教大家如何在DEV C 里安装Easyx图形库 这里我用的是
  • 电子学会青少年C语言一级通过

    复习一级时 看了很多printf格式 整型 浮点型之类的问题 这就是考级 什么都考 覆盖面广 但考完不一定常用 计划继续报二级 主要考数组和字符串 三级开始考算法 其实可以考虑跨级报考 因为感觉每个级的内容相对独立 有人考了一级就考四级 五
  • 蛋白质结构域的概念_怎么查询蛋白质的全部信息 UniProKB数据库

    今天给大家介绍一个数据库 UniProKB数据库 网址http www uniprot org 这个数据库对于查询蛋白质相关信息还是很全面的 比如我们想要查询人类p53蛋白的主要功能 结构域 翻译后的修饰和参与的代谢途径 以及与它相互作用的
  • HTTP1.0和HTTP1.1

    什么是HTTP http是一个超文本传输协议 它是基于TCP协议的应用层传输协议 简单点说就是客户端和服务端进行数据传输的一种规则 http是一个无状态协议 它本身不会对发送过得请求和响应的通信状态进行持久化处理 这样做的目的是为了保持ht