当前位置: 代码网 > it编程>编程语言>Javascript > HTTP Header 参数详解

HTTP Header 参数详解

2024年08月01日 Javascript 我要评论
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 
(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com