response 对象常用成员(API)|学习笔记

简介: 快速学习 response 对象常用成员(API)

开发者学堂课程【Node.js 入门与实战response对象常用成员(API)】学习笔记,与课程紧密联系,让用户快速学习知识

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


response对象常用成员(API)

 

目录:

一、 response 对象

二、 实际代码举例

Response.write(chunk,[,encoding][,callback]) chunk 就是浏览器写入的数据,chunk 可以是 string 也可以是 burfer,encoding 就是编码浏览器写入书记之后可以指定一个编码,第三个参数就是写完这个数据回调一下。

 

一、response对象

response 对象类型

response 对象常用成员

response.writeHead(statusCode [, statusMessage][, headers])

1. This method must only be called once on a message and it must be called before response.end( ) is called.

-这个方法在每次请求响应前都必须被调用(只能调用一次)。并且必须在 end()方法调用前调用

2. If you call response.wnite() or response.end() before calling this, the implicit/mutable headers will be calculatedand call this function for you.

-如果在调用 writeHead()方法之前调用了 write()或 end()方法,系统会自动帮你调用 writetead()方法,并且会生成默认的响应头

3.When headers have been set with response. setHeader(), they will be merged with any headers passed to response.writeHead( ),with the headers passed to response.writeHead( ) given precedence.

·如果通过 res.setHeader( )也设置了响应头,那么系统会将 serHleader()设置的响应头和 wniteHead()设置的响应头合并。并且 writeHead()的设置优先

 

二、实际代码举例

var http = require( ' http');

http.createServer(function (req, res){

// res.statusCode = 404;

// res.statusMessage =‘Not Found';

// // 这句代码放在前面

// res.setHeader( ' Content-Type', 'text/plain; charset=utf-8 ');

// 通过 res.writeHead()来实现

//  res.writeHead(404,'Not Found ', {

//  'Content-Type ' : 'text/plain; charset=utf-8'

//  });

res.writeHead ( 200,’OK ' , {

'Content-Type' : 'text/plain; charset=utf-8'

});

// 1. res.write()

res.write( ' hello world !你好世界!!!');

res.write( ' hello world !你好世界!!! ');

res.write( ' hello world !你好世界!!! ');

// 2.每个请求都必须要调用的一个方法 res.end();

// 结束响应(请求)

该方法会通知服务器,所有响应头和响应主体都已被发送,即服务器将其视为已完成。每次响应都必须调用 esponse.end()方法。

这个并不是立刻结束响应,而是反应给服务器结束了,服务器在适当的时候结束请求,这一点也是很多编程语言里都有的情况。

Response.end里面的三个参数可以都不传,就是一个简简单单的请求,如果传了第一个数据表示这个数据,如果指定了data ,则相当于调用 response.write(data, encoding) 之后再调用 response. end(callback),所以说传数据然后给end一下,如果指定了 callback

, 则当响应流结束时被调用。

// 告诉服务器该响应的报文头、报文体等等全部已经响应完毕了,可以考虑本次响应结束。

3、// res.end()要响应数据的话,数据必须是 String 类型或者是 Buffer 类型

res.end();

// 4.通过 res.setHeader()来设置响应报文头

// res.setHeader()要放在 res.write()和 res.end( )之前设置

// 因为即便我们不设置响应报文头,系统也会默认有响应报文头,并且默认发送给浏览器,当已经发送过响应报文头后,就不能再通过 res.setHeader()来再次设置响应报文头了

// 否则就会报错

// res.setHeader( ' Content-Type', 'text/plain; charset=utf-8 ');

再次执行就显示正常,自己设置的报文头跟系统的并不冲突,服务器status默认值都是200

// 5.设置 http 响应状态码

// res.statusCode设置http响应状态码

// res.statusMessage设置http响应状态码对应的消息

// res.statusCode = 404;

// res.statusMessage =‘Not Found';

响应状态码,在实际开发当中,也是非常常用的,服务器在用户请求资源,有不同的响应的时候,一定要根据响应状态码,客户端会根据状态码做出一定的响应。

// 6. res.writeHead(

直接向客户端响应(写入) http 响应报文头

// 建议在 res.write()和 res.end()之前调用

}).listen(9091,function ( ) {

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

运行结果跟之前依旧一致

运行结果:

image.png

相关文章
|
7月前
|
SQL API Python
Python DB API下规范下cursor对象常用接口
Python DB API下规范下cursor对象常用接口。
102 4
|
2月前
|
API Python 容器
再探泛型 API,感受 Python 对象的设计哲学
再探泛型 API,感受 Python 对象的设计哲学
22 2
|
3月前
|
JavaScript 前端开发 API
什么是ES6的Proxy对象和Reactive API
【9月更文挑战第3天】什么是ES6的Proxy对象和Reactive API
31 9
|
4月前
|
人工智能 监控 安全
F5社区学习笔记:API和AI如何改变应用安全?
F5社区学习笔记:API和AI如何改变应用安全?
54 1
|
4月前
|
Java API 开发者
|
4月前
|
存储 程序员 API
八股day05_API、String对象和集合
day05_API、String对象和集合
|
4月前
|
jenkins API 持续交付
jenkins学习笔记之十五:SonarSQube API使用
jenkins学习笔记之十五:SonarSQube API使用
|
5月前
|
开发框架 JSON 前端开发
利用查询条件对象,在Asp.net Web API中实现对业务数据的分页查询处理
利用查询条件对象,在Asp.net Web API中实现对业务数据的分页查询处理
|
7月前
|
XML API 数据格式
【Qt 学习笔记】QWidget的enable属性 | API的介绍
【Qt 学习笔记】QWidget的enable属性 | API的介绍
190 0
|
前端开发 API
前端学习笔记202305学习笔记第二十二天-学生列表api封装1
前端学习笔记202305学习笔记第二十二天-学生列表api封装1
45 0