HTTP Header 参数详解

这篇具有很好参考价值的文章主要介绍了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”);文章来源地址https://www.toymoban.com/news/detail-856129.html

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 Header 参数详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 断点续传-http中Header参数Range(分段请求基础)

    需要用到几个http头 range if-range content-range accept-range 断点续传的优缺点 好处:防止大文件下载过程出现网络异常,而前功尽弃。 缺点:要发起多次请求,资源占用大,相对复杂 告知服务端,客户端下载该文件想要从指定的位置开始下载,至于 Range 字段属性值的格式有以下几

    2024年04月27日
    浏览(48)
  • 浏览器同源策略导致跨域问题 No ‘Access-Control-Allow-Origin‘ header 原因及解决方式--(后端、nginx、前端)

    目录 现象 原因 浏览器同源策略 导致结果: 解决方案 跨源资源共享(CORS) 各个端解决方法: 后端: 方式1:重载WebMvcConfigurer方法 方式2:配置监听CorsFilter 方式3:相关类上加注解 @CrossOrigin 注意事项: Nginx解决: 情况1: 前端解决: 本人身份:后端 今天部署线上环境前端

    2024年01月23日
    浏览(56)
  • tp6框架中Http类 请求的header、body参数传参 及post、file格式

    引入Http类: 在需要使用的地方引入Http类: use thinkfacadeHttp; GET请求示例: $response = Http::get(\\\'https://example.com/api/resource\\\');  设置Header参数: $headers = [ \\\'Authorization\\\' = \\\'Bearer YourAccessToken\\\', \\\'Content-Type\\\' = \\\'application/json\\\', ]; $response = Http::header($headers)-get(\\\'https://example.com/api/resource\\\'); POST请

    2024年01月19日
    浏览(49)
  • 使用浏览器发送HTTP POST请求

    HTTP请求有如下几个分类,其中最常见和常用的是GET和POST请求。  一般来说,使用浏览器地址栏访问域名或ip时能且仅能向浏览器服务端发送get请求,如果需要发送POST请求或其他类型http请求需要借助接口工具譬如postman。 如果某个web应用部署环境下缺少接口调试工具,该如何

    2024年02月11日
    浏览(55)
  • chrome浏览器禁止指定的http请求

    在debug时为了去除干扰项,可以在chrome浏览器中禁止指定的URL请求。 以下方法可以在浏览器中禁止发出该请求,方法如下: 1、打开浏览器,进入开发者工具(通常可以按F12打开)。 2、切换到“Network”(网络)选项卡,在该选项卡中可以查看浏览器发出的请求和响应信息。

    2024年02月12日
    浏览(58)
  • 【谷歌浏览器】中(Mixed Content错误,即是https请求http在浏览器中出现的错误)的解决方法

    一、问题详情 Mixed Content: The page at ‘https://xxx’ was loaded over HTTPS, but requested an insecure test ‘http://xxx’. This request has been blocked; the content must be served over HTTPS. 注:上图中蓝色标记的【test】是http请求最后一级目录的,也就是展示当前出现问题的目录。 二、解决方

    2024年02月13日
    浏览(58)
  • Chrome/Safari 浏览器怎么查看网络请求的 http 协议版本

    通过 Chrome 或者 Safari 浏览器的开发者工具查看网络请求后,发现只能看到 scheme 是 https,但是看不到 http 协议是 1.1 还是 2,亦或者是 http3 查看 http 请求 http 协议版本的方法是:鼠标右键表头中的任何一项,随后勾选上「Protocol」 随后可以看到新增了一列 Protocol,显示了 htt

    2024年02月15日
    浏览(60)
  • 谷歌浏览器(chrome)允许跨域/允许https网站中发送http请求

    直接上方法了 第一步:对谷歌浏览器图标点击鼠标右键,打开属性面板 第二步:在下图位置,添加下列代码 原来启动浏览器的地址: C:UsersxxxxxAppDataLocalGoogleChromeApplicationchrome.exe 增加的代码(注意开头是有个空格的,要把两部分用空格隔开的): --args --disable-web-secu

    2024年02月02日
    浏览(70)
  • 【JavaEE】_HTTP请求报头header

    目录 1. Host 2. Content-Length与Content-Type 2.1 Content-Length 2.2 Content-Type 3. User-Agent(UA) 4. Referer 5. Cookie header的整体格式是“键值对”结构,一行是一个键值对,这些键值对都是HTTP定义好的、有特殊含义的。 常见的报头种类有: Host表示访问的服务器主机的地址与端口号(端口号可

    2024年02月20日
    浏览(44)
  • http请求header传中文怎么处理

    解决思路: 首先:header里传不了中文,传输以后会报错。 先将该中文进行一个编码处理,放到header的参数里,最后在代码里进行 该参数的解码。 1:对header的传参进行加码 2:将加码的参数当成请求的header请求后台 3:后台对该参数进行解码 4:返回前台,查看校验

    2024年02月15日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包