为什么说 Http header 里蕴藏里许多有趣的用法呢?
下面是一张正经的 header 里面的内容。
响应头(Response header) 可以定义为:
被用于http响应中,并且和响应消息主体无关的那一类 HTTP header。像Age, Location 和 Server都属于响应头,他们被用于描述响应。
并非所有出现在响应中的http header都属于响应头,例如Content-Length就是一个代表响应体消息大小的 entity header,虽然你也可以把它叫做响应头。
Nginx 是应用范围和性能都极为卓越的 web 服务器。
自定义响应头,仅需使用 add_header 指令。当响应代码等于200、204、301、302或304时,它会发送任意 HTTP header。
特别注意的是,必须使用 NginxHttpHeadersModule 编译 nginx。
添加指令格式如下:
add_header name value
使用编辑器编辑 nginx.conf 文件,比如添加:
add_header X-Whom coder.helper
然后重新加载 nginx 服务:
/usr/local/nginx/sbin/nginx -s reload
然后命令行使用 curl 请求目标地址,会得到下面的响应头:
为什么使用自定义的头信息呢?
因为,当 nginx 用作多个 Apache / lighttpd 节点的反向代理,或者负载均衡器的时候,可以使用定制报头,以及内部节点来标识每对 Nginx 负载均衡器。
另一种用法是使用自定义标头监视服务器状态。
http 标准提供了宽松的定义,nginx 提供了实现了标准的实现方式。
总要那些无聊的开发者,开始在 header 上动起了歪脑筋,把 header 玩出了新的高度。下面盘点一些我所遇到的奇葩的 header ,以飨视听。
1 - 蝙蝠侠的web服务器
蝙蝠侠可能会这样写自己的 web 服务:
2 - 在 header 里招聘
有公司为了招聘对口的人才,费尽心机,把招聘信息放进请求头:
还有这个:
3 - 意图在 header 里删表
有些头绝对是有毒啊!
4 - 不要伤害我的服务器
大概是尝到了黑客攻破服务器的苦果,也知道自己能力挡不住被 kick ass。所以在 header 里先求饶:
5 - 平板电脑做 web 服务器
真的是很节省了。没有钱买云服务器,把平板电脑给改装成 web 服务器的。
6 - say hello
还有的响应头一看还有方言,比如下面这个日本的萌妹子!
请自行脑补!
好了,小伙伴儿们,赶紧去国内网站看看,没准儿你能收获大厂的百万年薪offer呢!
Good luck :-)