NodeJs——(7)request的结构

(24)request的结构

这里指的是发送的结构:

先上代码:

var http = require("http");
var util = require("util");
var server = new http.Server();
server.on("request", function (req, res) {
    res.writeHead(200, {'Content-type': 'text/html;charset = utf8'});
    res.write("<h1>这里是一个头</h1>");
    res.write("是否完成:" + req.complete);
    res.write("</br>Http版本协议:" + req.httpVersion);
    res.write("</br>请求方法:" + req.method);
    res.write("</br>原始请求路径:" + req.url);
    res.write("</br>请求头:" + util.inspect(req.headers)); //将其转为字符串
    res.write("</br>请求尾:" + util.inspect(req.trailers));
    res.write("</br>当前连接套接字:" + req.connetion);
    res.write("</br>上面的别名:" + req.socket);
    res.write("</br>client属性的别名:" + req.client);
    res.end();
})
server.listen(80);
console.log("The server begin");

结果为:


这里是一个头

是否完成:false
Http版本协议:1.1
请求方法:GET
原始请求路径:/
请求头:{ host: '127.0.0.1', connection:'keep-alive', 'cache-control': 'max-age=0', 'upgrade-insecure-requests': '1','user-agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36', accept:'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8','accept-encoding': 'gzip, deflate, sdch', 'accept-language': 'zh-CN,zh;q=0.8' }
请求尾:{}
当前连接套接字:undefined
上面的别名:[object Object]
client属性的别名:[objectObject]



另外,请求头是一个对象,因此可以列出他的属性,使用for in遍历之,如代码:

var http = require("http");
var util = require("util");
var server = new http.Server();
server.on("request", function (req, res) {
    res.writeHead(200, {'Content-type': 'text/html;charset = utf8'});
    for (var i in req.headers) {
        res.write("req.headers[" + i + "]: " + req.headers[i] + "</br>")
    }
    res.end();
})
server.listen(80);
console.log("The server begin");

结果:

req.headers[host]: 127.0.0.1
req.headers[connection]: keep-alive
req.headers[cache-control]: max-age=0
req.headers[upgrade-insecure-requests]: 1
req.headers[user-agent]: Mozilla/5.0 (Windows NT 6.1; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36
req.headers[accept]: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
req.headers[accept-encoding]: gzip, deflate, sdch
req.headers[accept-language]: zh-CN,zh;q=0.8

 


另外,很奇怪的是,我试着使用req.headers[cache-control]

或者是req.headers.cache-control,都无法出来正常的结果,不明白。

 

关于cache-control的取值

http://www.phpernote.com/seo/465.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值