Request 对象常用属性|学习笔记

简介: 快速学习 Request 对象常用属性

开发者学堂课程【Node.js 入门与实战Request 对象常用属性】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/588/detail/8266


Request 对象常用属性

 

目录:

一、 request 和 response 区别

二、 request对象

三、 代码举例

 

一、request和response区别

request(http.IncomingMessage和response( ServerResponse)对象介绍:

Request: 请求对象是当一个用户请求过来以后,请求接到服务器都是 HTTP 请求报文服务器解析用户提交的 http 请求报文,将结构解析到 request 对象中。凡事要获取和用户请求相关的数据都可以通过 request 对象获取。

Response:在服务器端口用来向用户做出相应的对象。凡是需要向用户(客户端)响应的操作,都需要通过 response 对象来进行。

查文档,页面里没有 request 和 response,是因为二者都是属于 HTTP 模块,所以说要在HTTP模块中查询,里面有若干个对象,比如 server 对象,server response 对象也就是所说的 response 对象,下面的 incomingMessage 就是request对象。

Request 不止页面显示的这几个对象,还继承别的类,里面还有别的父类,这里只能看到自己的接口。

 

二、request对象

request 对象类型,

继承自 stream.Readable

request 对象常用成员

+ request.headers 所有的请求报文头

+ request.rawHeaders 原生的请求报文头

+ request.httpVersion 获取客户端请求的的时候所使用的HTTP版本号

+ request.method

+ request.url 请求的路径

新建一个文件,在里面新建之后,启动一个http服务

Var http-require(‘http’);

创建服务 http.createSever(function(req,res) {

}).listen(9091,function () {

console.log( 'http://localhost: 9091');

});


三、代码举例

var http = require( ' http');

http.createServer(function (req,res){

// + request.headers

// + request.rawHeaders

// + request.httpVersion 

// + ‘request.method’

// + ‘request.url’

// 1.获取所有请求报文头

consoLe.log(req.url);

res.end( 'over’ );

}).listen(9091,function () {

console.log( 'http://localhost: 9091');

});

找到路径 cd,输入 node.app.js,这次访问就会把请求的报文头打印出来,在浏览器中访问,有 over 输出,点击 localhost,显示这次请求的报文头,然后再查看服务器的打印,

image.png

打印两次的原因是,一次是 localhost,一次是 favicon.icorequest.rawHeaders里面是对象,对象里面是键值对,里面包含报文头。

image.png

// req.headers 返回的是一个对象,这个对象中包含了所有的请求报文头

// console.log(req.headers);

consoLe.log(req. rawHeaders);

res.end( 'over’ );

}).listen(9091,function () {

console.log( 'http://localhost: 9091');

});

服务器代码修改之后需要重启一下,依旧是9091,这次的报文头还是之前的,查看服务器的打印结果,打印的对象变成了一个数组,变成了字符串

image.png

// req.rawHeaders 返回的是一个数组,数组中保存的都是请求报文头的字符串

// console.log(req.rawHeaders);

// 2. httpVersion

// 获取请求客户端所使用的http版本

// console.log(req.httpVersion);

image.png

console.log(req. httpVersion);

res.end( 'over’ );

}).listen(9091,function () {

console.log( 'http://localhost: 9091');

});

服务器打印出当前使用的http版本号为1.1   image.png

// 3. method

// 获取客户端请求使用的方法(POST、GET、 ....)

// console.log(req.method);

console.log(req.method);

res.end( 'over’ );

}).listen(9091,function () {

console.log( 'http://localhost: 9091');

});

再把服务器重启,输出打印,点击 localhost,这里所使用的方法为 GET    image.png

// 4.url

// 获取这次请求的路径(获取请求报文中的请求路径,不包含主机名称,端口号,协议)

consoLe.log(req.url);

res.end( 'over’ );

}).listen(9091,function () {

console.log( 'http://localhost: 9091');

});

回到网页当中,点击 localhost,url 里面就是个/,这个 url 就是请求报文那里的,不包含主机名称,主机名在 headers 里面,达到请求这样一个路径。

路径改为localhost:9091/css/abc/index.css,这次请求的路径是/css/abc/index.css再查看服务器里也是这个路径

相关文章
Thymeleaf内置对象、定义变量、URL参数及标签自定义属性
Thymeleaf内置对象、定义变量、URL参数及标签自定义属性
292 0
|
存储 JavaScript 前端开发
页面传值的方法详解
页面传值的方法详解
112 0
|
7月前
通过 Filter 与包装 HttpServletRequest 添加自定义 header
通过 Filter 与包装 HttpServletRequest 添加自定义 header
424 0
|
7月前
|
XML JSON 前端开发
AJAX 中创建 XMLHttpRequest 对象的方法和常用属性、方法
AJAX 中创建 XMLHttpRequest 对象的方法和常用属性、方法
80 0
Element-ui 中对表单(Form)绑定的对象中的对象属性进行校验
Element-ui 中对表单(Form)绑定的对象中的对象属性进行校验
1123 0
|
应用服务中间件
|
Java
会话技术概述、Cookie常用属性和方法及Session常用方法和生命周期
会话技术概述、Cookie常用属性和方法及Session常用方法和生命周期
186 0
|
安全 应用服务中间件
Form表单method属性的两种提交方式Get和Post的区别
Form表单method属性的两种提交方式Get和Post的区别
404 0