HTTP Header 参数详解

关于HTTP消息头

HTTP消息头是在,客户端请求(Request)或服务器响应(Response)时传递的,位请求或响应的第一行,HTTP消息体(请求或响应的内容)是其后传输。HTTP消息头,以明文的字符串格式传送,是以冒号分隔的键/值对,如:Accept-Charset: utf-8,每一个消息头最后以回车符(CR)和换行符(LF)结尾。HTTP消息头结束后,会用一个空白的字段来标识,这样就会出现两个连续的CR-LF。

HTTP消息头由IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)来整理和维护。其标准最早来源于RFC 4229。IANA将其整理到了消息头文档,文档中还包括了一些新提出的信息头。

HTTP消息头支持自定义, 自定义的专用消息头一般会添加'X-'前缀。

一、request header

1.Accept

作用: 浏览器端可以接受的媒体类型, 例如: Accept: text/html 代表浏览器可以接受服务器回发的类型为 text/html 也就是我们常说的html文档,如果服务器无法返回text/html类型的数据,服务器应该返回一个406错误(non acceptable)

通配符 代表任意类型 例如 Accept: */* 代表浏览器可以处理所有类型,(一般浏览器发给服务器都是发这个)

2.Accept-Encoding:

作用: 浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate),(注意:这不是只字符编码); 例如: Accept-Encoding: zh-CN,zh;q=0.8

3.Accept-Language

作用: 浏览器申明自己接收的语言。 语言跟字符集的区别:中文是语言,中文有多种字符集,比如big5,gb2312,gbk等等; 例如: Accept-Language: en-us。

4.Connection

Connection: keep-alive 当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接

Connection: close 代表一个Request完成后,客户端和服务器之间用于传输HTTP数据的TCP连接会关闭, 当客户端再次发送Request,需要重新建立TCP连接。

5.Host(发送请求时,该报头域是必需的)

作用: 请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的 例如: 我们在浏览器中输入:http://www.hzau.edu.cn 浏览器发送的请求消息中,就会包含Host请求报头域,如下:Host:www.hzau.edu.cn 此处使用缺省端口号80,若指定了端口号,则变成:Host:指定端口号

6.Referer

当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站

7.User-Agent

作用:告诉 HTTP 服务器, 客户端使用的操作系统和浏览器的名称和版本。我们上网登陆论坛的时候,往往会看到一些欢迎信息,其中列出了你的操作系统的名称和版本,你所使用的浏览器的名称和版本,这往往让很多人感到很神奇,实际上,服务器应用程序就是从 User-Agent 这个请求报头域中获取到这些信息User-Agent请求报头域允许客户端将它的操作系统、浏览器和其它属性告诉服务器。

8.Cache-Control

Cache-Control与Expires的作用一致,都是指明当前资源的有效期,控制浏览器是否直接从浏览器缓存取数据还是重新发请求到服务器取数据。只不过Cache-Control的选择更多,设置更细致,如果同时设置的话,其优先级高于Expires。我们网页的缓存控制是由HTTP头中的“Cache-control”来实现的,常见值有private、no-cache、max-age、must-revalidate等,默认为private。这几种值的作用是根据重新查看某一页面时不同的方式来区分的

Accept    指定客户端能够接收的内容类型    Accept: text/plain, text/html 
Accept-Charset    浏览器可以接受的字符编码集。    Accept-Charset: iso-8859-5 
Accept-Encoding    指定浏览器可以支持的web服务器返回内容压缩编码类型。    Accept-Encoding: compress, gzip 
Accept-Language    浏览器可接受的语言    Accept-Language: en,zh 
Accept-Ranges    可以请求网页实体的一个或者多个子范围字段    Accept-Ranges: bytes 
Authorization    HTTP授权的授权证书    Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== 
Cache-Control    指定请求和响应遵循的缓存机制    Cache-Control: no-cache 
Connection    表示是否需要持久连接。(HTTP 1.1默认进行持久连接)    Connection: close 
Cookie    HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。    Cookie: $Version=1; Skin=new; 
Content-Length    请求的内容长度    Content-Length: 348 
Content-Type    请求的与实体对应的MIME信息    Content-Type: application/x-www-form-urlencoded 
Date    请求发送的日期和时间    Date: Tue, 15 Nov 2010 08:12:31 GMT 
Expect    请求的特定的服务器行为    Expect: 100-continue 
From    发出请求的用户的Email    From: user@email.com 
Host    指定请求的服务器的域名和端口号    Host: www.zcmhi.com 
If-Match    只有请求内容与实体相匹配才有效    If-Match: “737060cd8c284d8af7ad3082f209582d” 
If-Modified-Since    如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码    If-Modified-Since: Sat, 29 Oct 2010 19:43:31 GMT 
If-None-Match    如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变    If-None-Match: “737060cd8c284d8af7ad3082f209582d” 
If-Range    如果实体未改变,服务器发送客户端丢失的部分,否则发送整个实体。参数也为Etag    If-Range: “737060cd8c284d8af7ad3082f209582d” 
If-Unmodified-Since    只在实体在指定时间之后未被修改才请求成功    If-Unmodified-Since: Sat, 29 Oct 2010 19:43:31 GMT 
Max-Forwards    限制信息通过代理和网关传送的时间    Max-Forwards: 10 
Pragma    用来包含实现特定的指令    Pragma: no-cache 
Proxy-Authorization    连接到代理的授权证书    Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== 
Range    只请求实体的一部分,指定范围    Range: bytes=500-999 
Referer    先前网页的地址,当前请求网页紧随其后,即来路    Referer: http://www.zcmhi.com/archives/71.html 
TE    客户端愿意接受的传输编码,并通知服务器接受接受尾加头信息    TE: trailers,deflate;q=0.5 
Upgrade    向服务器指定某种传输协议以便服务器进行转换(如果支持)    Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11 
User-Agent    User-Agent的内容包含发出请求的用户信息    User-Agent: Mozilla/5.0 (Linux; X11) 
Via    通知中间网关或代理服务器地址,通信协议    Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1) 
Warning    关于消息实体的警告信息    Warn: 199 Miscellaneous warning 

二、response header

1.刷新和延时跳转

一秒刷新页面一次 response.setHeader(“refresh”,“1”);

二秒跳到其他页面 response.setHeader(“refresh”,“2;URL=otherPagename”);

2.没有缓存

response.setHeader(“Pragma”, “No-cache”);

response.setHeader(“Cache-Control”, “no-cache”);

3.设置过期的时间期限

response.setDateHeader(“Expires”, System.currentTimeMillis()+自己设置的时间期限);

4.设置请求文件最后修改时间

response.setDateHeader(“Last-Modified”, System.currentTimeMillis());

5.访问别的页面(重定向)

response.setStatus(302);

response.setHeader(“location”,“url”);

Accept-Ranges    表明服务器是否支持指定范围请求及哪种类型的分段请求    Accept-Ranges: bytes 
Age    从原始服务器到代理缓存形成的估算时间(以秒计,非负)    Age: 12 
Allow    对某网络资源的有效的请求行为,不允许则返回405    Allow: GET, HEAD 
Cache-Control    告诉所有的缓存机制是否可以缓存及哪种类型    Cache-Control: no-cache 
Content-Encoding    web服务器支持的返回内容压缩编码类型。    Content-Encoding: gzip 
Content-Language    响应体的语言    Content-Language: en,zh 
Content-Length    响应体的长度    Content-Length: 348 
Content-Location    请求资源可替代的备用的另一地址    Content-Location: /index.htm 
Content-MD5    返回资源的MD5校验值    Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ== 
Content-Range    在整个返回体中本部分的字节位置    Content-Range: bytes 21010-47021/47022 
Content-Type    返回内容的MIME类型    Content-Type: text/html; charset=utf-8 
Date    原始服务器消息发出的时间    Date: Tue, 15 Nov 2010 08:12:31 GMT 
ETag    请求变量的实体标签的当前值    ETag: “737060cd8c284d8af7ad3082f209582d” 
Expires    响应过期的日期和时间    Expires: Thu, 01 Dec 2010 16:00:00 GMT 
Last-Modified    请求资源的最后修改时间    Last-Modified: Tue, 15 Nov 2010 12:45:26 GMT 
Location    用来重定向接收方到非请求URL的位置来完成请求或标识新的资源    Location: http://www.zcmhi.com/archives/94.html 
Pragma    包括实现特定的指令,它可应用到响应链上的任何接收方    Pragma: no-cache 
Proxy-Authenticate    它指出认证方案和可应用到代理的该URL上的参数    Proxy-Authenticate: Basic 
refresh    应用于重定向或一个新的资源被创造,在5秒之后重定向(由网景提出,被大部分浏览器支持)Refresh: 5; url=http://www.zcmhi.com/archives/94.html 
Retry-After    如果实体暂时不可取,通知客户端在指定时间之后再次尝试    Retry-After: 120 
Server    web服务器软件名称    Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) 
Set-Cookie    设置Http Cookie    Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1 
Trailer    指出头域在分块传输编码的尾部存在    Trailer: Max-Forwards 
Transfer-Encoding    文件传输编码    Transfer-Encoding:chunked 
Vary    告诉下游代理是使用缓存响应还是从原始服务器请求    Vary: * 
Via    告知代理客户端响应是通过哪里发送的    Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1) 
Warning    警告实体可能存在的问题    Warning: 199 Miscellaneous warning 
WWW-Authenticate    表明客户端请求实体应该使用的授权方案    WWW-Authenticate: Basic 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 的执行原理(二)

5.3. MySQL 的查询成本 5.3. MySQL 的查询成本 MySQL 执行一个查询可以有不同的执行方案,它会选择其中成本最低,或者 说代价最低的那种方案去真正的执行查询。不过我们之前对成本的描述是非常模 糊的,其实在 MySQL 中一条查询语句的执行成本…

golang学习笔记——fmt.Printf()、fmt.Print() 和 fmt.Println()区别

fmt.Printf()、fmt.Print() 和 fmt.Println()区别 fmt.Printf(), fmt.Print() 和 fmt.Println() 这三个函数都是 Go 语言标准库 fmt 中的函数,它们都可以用于在控制台输出文本。但是它们之间存在一些重要的区别: fmt.Printf():这个函数的名…

Cmake学习

cmake大致 cmake_minimum_required(VERSION 3.0)project(test) #通过set自定义变量,通过${}取出 #set(SRC add.cpp main.cpp muti.cpp sub.cpp) #cmake搜索文件 宏定义PROJECT_SOURCE_DIR aux_source_directory(${PROJECT_SOURCE_DIR} SRC) #file(GLOB/GLOB_RECURSE…

静态文件鉴权

​ 静态文件鉴权的解决方案 背景介绍 XX业务系统作为BXX业务系统的孪生姐妹系统,是对BXX受理业务的强力补充系统,他允许操作员拿着IPAD,和客户约定地点上门受理业务。 因一些业务的受理,按照最新的业务规章制度,需…

常用 API 异常

常用 API & 异常 对之前那篇 API 文章的补充学习 1.API 1.1 API概述【理解】 什么是API ​ API (Application Programming Interface) :应用程序编程接口 java中的API ​ 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来&am…

OpenCV快速入门:窗口交互

文章目录 前言一、鼠标操作1.1 鼠标操作简介1.2 鼠标事件类型(event类型)1.3 鼠标事件标志(flags)1.4 代码示例1.4.1 获取鼠标坐标位置1.4.2 监听鼠标滚轮事件1.4.3 在图像中显示鼠标坐标 二、键盘操作2.1 代码示例2.2 waitKey的等…

ssm家长乐山美食网站系统

1.需求分析\n将进行家乡乐山美食网站的需求分析。需求分析是系统开发过程中的一项重要工作,它是对用户需求进行深入研究和分析,明确系统的功能、性能、界面等方面的需求,为后续的设计和开发提供依据。\n首先,需要明确该网站的主要…

制作Go程序的Docker容器(以及容器和主机的网络问题)

今天突然遇到需要将 Go 程序制作成 Docker 的需求,所以进行了一些研究。方法很简单,但是官方文档和教程有些需要注意的地方,所以写本文进行记录。 源程序 首先介绍一下示例程序,示例程序是一个 HTTP 服务器,会显示si…

【GUI】-- 11 贪吃蛇小游戏之绘制静态的小蛇

GUI编程 04 贪吃蛇小游戏 4.2 第二步:绘制静态的小蛇 现在绘制静态的小蛇(即小蛇初始位置),并且完善游戏默认初始状态。这一步还在GamePanel类中实现。 首先,定义了小蛇的数据结构, //定义蛇的数据结构int length; //小蛇总长…

JVM中的 -Xms参数 设置 JVM 的初始堆大小

在 Java 虚拟机(JVM)的配置中,-Xms 是一个启动参数,用于设置 JVM 的初始堆大小(Initial Heap Size)。这个参数对于优化 Java 应用程序的性能非常重要,特别是在处理需要大量内存的应用程序时。 …

azkaban二次开发

springboot封装azkaban的api,提供可调用azkaban任务流的接口 流程如下: springboot接口->azkaban api->azkaban project(flow tasks)->shell脚本->spark tasks Api测试 curl -k -X POST --data "actionlogin&usernameazkaban&am…

yolo系列模型训练数据集全流程制作方法(附数据增强代码)

yolo系列的模型在目标检测领域里面受众非常广,也十分流行,但是在使用yolo进行目标检测训练的时候,往往要将VOC格式的数据集转化为yolo专属的数据集,而yolo的训练数据集制作方法呢,最常见的也是有两种,下面我…

开源与闭源:大模型发展的双重走向

目录 前言开源和闭源的优劣势比较开源的优势闭源的优势 开源和闭源对大模型技术发展的影响对技术发展的影响对数据共享的影响对业务拓展的影响 开源与闭源的商业模式比较开源的商业模式闭源的商业模式 处在大模型洪流中,向何处去?结语 前言 随着人工智能…

YoloV8改进策略:动态蛇形卷积,解决管状结构问题

文章目录 摘要论文《DSCNet:基于拓扑几何约束的动态蛇形卷积管状结构分割》1、简介2、相关研究2.1、基于网络设计的方法2.2、基于特征融合的方法2.3、基于损失函数的方法3、方法3.1、动态蛇形卷积(Dynamic Snake Convolution)3.2、多视图特征融合策略3.3、拓扑连续性约束损失…

C++11 模板参数包(Parameter pack)

做个小笔记 Template parameter pack(模板参数包)是C中用于接受零个或多个模板参数的一种机制。 语法:typename|class... pack-name 示例:模板参数只有一个参数包的情况 这个例子演示了一个可变参数的类模板(variad…

python利用matplotlib画实验图

import matplotlib.pyplot as plt import seaborn as sns import numpy as np from matplotlib.font_manager import FontProperties#coding:utf-8 # plt.rcParams[font.sans-serif] [SimHei] #用来正常显示中文标签 # plt.rcParams[axes.unicode_minus] False #用来正常显示…

中国智能音箱市场销量下降,百度稳居第一 /中国即评出10个大模型创新案例 |魔法半周报

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件🔥,更新AIGC的最新动态,生成相应的魔法简报,节省阅读时间👻 中国智能音箱市场销量下降,百度稳居第一 中国即将评选出10个最具代表性的大模型创新案例…

【Typroa使用】Typroa+PicGo-Core(command line)+gitee免费图片上传配置

TyproaPicGo-Core(command line)gitee免费图片上传配置 本文是在win10系统下配置typroapicGo-Core(command line)gitee图片上传的教程。需要的环境和工具有: gitee账号,新建仓库及token令牌;已经安装了的typroa,需要0.9.98版本以上…

2023最全的性能测试种类介绍,这6个种类特别重要!

系统的性能是一个很大的概念,覆盖面非常广泛,包括执行效率、资源占用、系统稳定性、安全性、兼容性、可靠性、可扩展性等,性能测试就是描述测试对象与性能相关的特征并对其进行评价而实施的一类测试。 性能测试是一个统称,它其实包…