简单了解HTTP报文及示例

简单了解HTTP报文及示例

  • HTTP报文
      • 请求报文
      • 响应报文
        • 通用首部字段
          • Cache-Control
          • Connection
          • Date
        • 请求首部字段
          • Accept
          • Accept-Charset
          • Accept-Encoding
          • Accept-Language
          • Host
          • If-Match
          • If-Modified-Since
          • If-None-Match
          • Referer
          • User-Agent
        • 响应首部字段
          • Accpet-Ranges
          • Age
          • Location
          • Server
        • 实体首部字段
          • Allow
          • Content-Encoding
          • Content-Language
          • Content-Type
          • Expire
          • Last-Modified

HTTP报文

  • 报文首部 – 客户端和服务器处理的请求或响应的内容以及属性。
  • 报文主体 – 应该被发送的数据。

请求报文

客户端的HTTP报文
请求行 – 方法、URL、HTTP 版本
首部字段:

  • 请求首部字段
  • 通用首部字段
  • 实体首部字段

响应报文

服务器的HTTP报文
状态行 – HTTP版本、状态码
首都字段:

  • 响应首部字段
  • 通用首部字段
  • 实体首部字段

HTTP首部字段类型

  • 通用首部字段–请求报文和响应报文,都会使用的首部
  • 请求首部字段-- 从客户端向服务器发送请求报文时使用的首部
  • 响应首部字段-- 从服务器向客户端返回响应报文使用的首部
  • 实体首部字段–请求报文和响应报文使用的首部
通用首部字段

在这里插入图片描述

Cache-Control

能操作缓存的工作机制。

  • public : 表明其他用户可以利用缓存
  • private:响应只以特定的用户作为对象
  • no-cache:为了防止从缓存中返回过期的资源
Connection

作用:
1.控制不在转发给代理的首部字段
connection:不在转发的首部字段 Hop-by-hop
2.管理持久连接

  • Connection:close - 明确的断开连接
  • Connection:Keep-Alive - 持久连接
Date

表明创建HTTP报文的日期和时间

请求首部字段

在这里插入图片描述

作用:补充一些请求的附加信息、客户端信息、对响应内容相关的优先级等

Accept

能够处理的媒体类型及媒体类型的相对优先级。

Accept: text/html, application/xhtml+xml,application/xml;q=0.9
  • 文本文件
    • text/html —— HTML格式, text/plain——纯文本格式, text/css——css格式
    • 组合 application/xhtml+xml, application/xml ,application/json,application/pdf
  • 图片文件
    • image/jpeg – jpge 格式, image/gif, image/png
  • 视频
    • video/mpeg, video/quicktime
  • 应用程序中使用的二进制文件
    • application/octet-stream,application/zip,application/x-www-from-urlencoded

q=0.9 权重
范围 : 0-1 可以精确到小数点后两位
1 位最大值
不指定权重 q 值时,默认权重为 q=1.0。

Accept-Charset

来通知服务器期望支持的字符集

Accept-Charset: charset=utf-8
Accept-Encoding

告知服务器期望支持的内容编码

  • gzip
  • compress
  • deflate
  • identity —— 不执行压缩或者不会变化的默认编码格式
Accept-Language

来告知服务器期望能够处理的自然语言集(值中文或英文等)

Accept-Language: zh-cn,zh;q=0.7,en-us,en;q=0.3
Host

Host:www.baidu.com
告知服务器,请求的资源所处的互联网主机名和端口号。
Host首部字段在HTTP/1.1规范内是唯一一个必须被包含在请求内部的首部字段。

If-Match

像If-XXX 条件请求
服务器接收到附带条件的请求后,只有判断指定条件为真,才会执行请求。
If-Match:“12345”
两端资源进行比较,只有判断条件为真才会接收请求。

If-Modified-Since

如果服务器If-Modified-Since早于资源的更新时间,希望能处理请求
304

If-None-Match

实体标记(ETag)值和请求资源的ETag的值不一致的时候,告知服务器处理请求。

Referer

告知服务器,请求的原始资源的地址。

User-Agent

客户端的信息传给服务器
内容包含:操作系统/版本、浏览器/版本、设备信息(移动端)/版本

响应首部字段

在这里插入图片描述

用于补充响应附加信息、服务器信息、对客户端的附加要求。

Accpet-Ranges

告诉客户端,我的服务器是否可以接受范围请求,是bytes,否none

Age

资源在代理缓存中存在的时间

Location

客户端重定向到某个RUL

Server

服务器的名字:Apache Nginx BWS ...

实体首部字段
Allow

资源的正确请求方式:GET HEAD POST
服务器接收到了不支持的HTTP方法,会以状态码405返回

Content-Encoding

告知客户端服务器对实体的主体部分选用的内容编码方式

  • gzip
  • compress
  • deflate
  • identity
Content-Language

告知客户端,实体主体使用的自然语言(中文或英文等)

Content-Type

说明了实体主体内对象的媒体类型
text/html charset=utf-8

Expire

资源失效日期
缓存服务器,如果接受到了这个字段,会以缓存应答,如果在这个时间之前,响应的副本会一直保存,如果超过了这个时间,会转发给源服务器。
如果源服务器不希望缓存服务器对资进行缓存,那么这个时间设置为Date相同的时间即可。

Last-Modified

指明资源最终修改的时间

好啦~就到这里吧,文章还是有点点长,大家可以捡自己重点的关注的看哟!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/218036.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

8.HTTP工作原理

HTTP是什么 HTTP工作原理 HTTP协议的请求类型和响应状态码 总结 1.HTTP是什么 HTTP超文本传输协议就是在一个网络中上传下载文件的一套规则 2.HTTP工作原理 HTTP超文本传输协议的本质是TCP通信,链接—>请求—>响应—>断开 3.HTTP协议的请求类型和响应状…

stm32L071KB单片机字节对齐问题

字节对齐问题由来很关键 字节对齐问题由来 字节对齐问题由来 在移植同事代码的时候发现到一个赋值变量的地方就会出现死机,进入hardfault,怎么也找不不到原因,最后没办法去了github https://github.com/armink/CmBacktrace/blob/master/README_ZH.md Cm…

AWS攻略——使用中转网关(Transit Gateway)连接同区域(Region)VPC

文章目录 环境准备创建VPC 配置中转网关给每个VPC创建Transit Gateway专属挂载子网创建中转网关创建中转网关挂载修改VPC的路由 验证创建业务Private子网创建可被外网访问的环境测试子网连通性Public子网到Private子网Private子网到Private子网 知识点参考资料 在《AWS攻略——…

Hadoop的介绍与安装

1 Hadoop的简介 Hadoop是一个开源的大数据框架,是一个分布式计算的解决方案。Hadoop是由java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce。 HDFS是一个分布式文件系统&#x…

新华三数字大赛复赛知识点 AAA

AAA的概念和架构,RADIUS和TACASS的原理和配置 AAA是网络访问控制的一种安全管理框架,他决定哪些的用户能够访问网络,以及用户能够访问哪些资源或者得到哪些服务。 第一个A:认证 认证用来识别访问网络的用户的身份,判断…

Proteus仿真--基于1602LCD与DS18B20设计的温度报警器

本文介绍基于1602LCD与DS18B20设计的温度报警器设计(完整仿真源文件及代码见文末链接) 仿真图如下 其中温度传感器选用DS18B20器件,主要用于获取温度数据并上传,温度显示1602LCD液晶显示器,报警模块选用蜂鸣器&#…

【电机控制】PMSM无感foc控制(五)相电流检测及重构 — 单电阻采样

0. 前言 相电流采样再FOC控制中是一个关键的环节,鉴于成本和易用性,目前应用较多的相电流采样方式是分流电阻采样,包括单电阻、双电阻以及三电阻采样法。 本章节先讲解单电阻采样相电流的检测及重构技术,在下一章讲解双电阻和三电…

linux 应用开发笔记---【标准I/O库/文件属性及目录】

一,什么是标准I/O库 标准c库当中用于文件I/O操作相关的一套库函数,实用标准I/O需要包含头文件 二,文件I/O和标准I/O之间的区别 1.标准I/O是库函数,而文件I/O是系统调用 2.标准I/O是对文件I/O的封装 3.标准I/O相对于文件I/O具有更…

spark sql基于RBO的优化

前言 这里只对RBO优化进行简单的讲解。讲解RBO之前必须对spark sql的执行计划做一个简单的介绍。 这个里讲解的不是很清楚,需要结合具体的执行计划来进行查看 1、执行计划 在spark sql的执行计划中,执行计划分为两大类,即逻辑执行计划、物…

基于Docker构建Python开发环境

1. Dockerfile dockerfile所在目录结构 FROM python:3.8 WORKDIR /leo RUN apt-get install -y wget RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai >/etc/timezone # ssh免密登录 COPY id_rsa.pub /leo RUN mkdir ~/.s…

【Unity动画】状态机中层的融合原理与用法详解

1. 状态机概念介绍 在Unity中,动画状态机(Animator State Machine)是一种强大的工具,用于控制游戏对象的动画行为。动画状态机由多个动画状态Animation和过渡条件Transition、层组成!而层(Layers&#xff…

IDEA构建springBoot新项目时JDK只有17和21,无法选择JDK8解决方案

今天创建springboot新项目时,发现IDEA里JDK选项只有17和21,无法选择本机的JDK8,网上查资料后发现是springboot2.7于11.24号后停止维护,基于2.7和java8的spring Initializ官方不再维护,解决方案是在server URL栏&#x…

[RK-Linux] 移植Linux-5.10到RK3399(三)| 检查eMMC与SD卡配置

这个专题主要记录把 RK Linux-5.10 移植到 ROC-RK3399-PC Pro 的过程。 文章目录 一、eMMC二、SD 卡三、两个接口的区别一、eMMC RK3399 的 eMMC 接口如图: datasheet 介绍: 实际上,连接 eMMC 存储器用的是 SDHCI 接口。SDHCI(Secure Digital Host Controller Interface)…

【MySQL语言汇总[DQL,DDL,DCL,DML]以及使用python连接数据库进行其他操作】

MySQL语言汇总[DQL,DDL,DCL,DML] SQL分类1.DDL:操作数据库,表创建 删除 查询 修改对数据库的操作对表的操作复制表(重点)!!!!! 2.DML:增删改表中数据3.DQL:查询表中的记录…

Pytorch CIFAR10图像分类 Swin Transformer篇

Pytorch CIFAR10图像分类 Swin Transformer篇 文章目录 Pytorch CIFAR10图像分类 Swin Transformer篇4. 定义网络(Swin Transformer)Swin Transformer整体架构Patch MergingW-MSASW-MSARelative position biasSwin Transformer 网络结构Patch EmbeddingP…

【深度学习】回归模型相关重要知识点总结

回归分析为许多机器学习算法提供了坚实的基础。在这篇文章中,我们将总结 10 个重要的回归问题和5个重要的回归问题的评价指标。 一、线性回归的假设是什么 线性回归有四个假设: 线性:自变量(x)和因变量(y&…

创新领航 | 竹云参编《基层智治系统安全接入规范》团体标准正式发布!

近日,由杭州市委办公厅(市密码管理局)、杭州市基层治理综合指挥保障中心、杭州市拱墅区社会治理中心、杭州市拱墅区数据资源管理局、杭州竹云数字智能科技有限公司、杭州智诚质量标准技术评定中心共同参与编写的《基层智治系统安全接入规范》…

录视频人不在电脑旁,怎么设置定时关机

如果你平常工作比较忙,或者要录制的视频/音频文件需要很长时间,最好选择预约录制,这样可使录屏软件自动开始和停止录制,并且定时关机。此外,你还可以设置保存录制文件、关闭录屏软件。是不是听起来很感兴趣&#xff1f…

【unity3D】创建游戏物体的三种方式

💗 未来的游戏开发程序媛,现在的努力学习菜鸡 💦本专栏是我关于游戏开发的学习笔记 🈶本篇是在unity中创建游戏物体的三种方式 unity中创建游戏物体 使用构造函数创建一个空的游戏对象根据现有的预制体资源或者场景中已有的物体进…

Debian Linux安装配置ibus rime中文输入法

Linux安装配置Rime 安装 清除所有fcitx软件包 sudo apt purge fcitx*安装ibus和ibus-rime sudo apt install ibus ibus-rime启用输入法 找到输入法配置 启用ibus输入法 此时由于刚安装完毕ibus并没有启动 要么重启系统 要么输入下面的命令 ibus-daemon -drx找到ibus首选…
最新文章