response.writeHead

时间:2022-12-09 12:36:26

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

查看英文版

版本历史

发送一个响应头给请求。 状态码是一个三位数的 HTTP 状态码,如 404。 最后一个参数 headers 是响应头。 第二个参数 statusMessage 是可选的状态描述。

例子:

const body = 'hello world';
response.writeHead(200, {
'Content-Length': Buffer.byteLength(body),
'Content-Type': 'text/plain' });

该方法在消息中只能被调用一次,且必须在 response.end() 被调用之前调用。

如果在调用该方法之前调用 response.write() 或 response.end(),则隐式的响应头会被处理并调用该函数。

response.setHeader() 设置的响应头会与 response.writeHead() 设置的响应头合并,且 response.writeHead() 的优先。

// 返回 content-type = text/plain
const server = http.createServer((req, res) => {
res.setHeader('Content-Type', 'text/html');
res.setHeader('X-Foo', 'bar');
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('ok');
});

注意,Content-Length 是以字节(而不是字符)为单位的。 上面的例子行得通是因为字符串 'hello world' 只包含单字节字符。 如果响应主体包含高级编码的字符,则应使用 Buffer.byteLength()来确定在给定编码中的字节数。 Node.js 不会检查 Content-Length 与已发送的响应主体的长度是否相同。

如果响应头字段的名称或值包含无效字符,则抛出 TypeError 错误。

response.writeHead的更多相关文章

  1. 记录nodejs的writeHead

    使用response.writeHead()时,如果第二个参数的值使用错误的字符时,会使整个页面被镶嵌在<pre></pre>中被传输过去. 例: response.write ...

  2. response&period;write

    response.write(chunk[, encoding][, callback])# 查看英文版 chunk <string> | <Buffer> encoding  ...

  3. nodejs -- fs模块 ---&gt&semi; readFile 函数 1&rpar; fs&period;readFile&lpar;filename&comma; &quot&semi;binary&quot&semi;&comma; function&lpar;error&comma; file&rpar; 2&rpar; response&period;write&lpar;file&comma; &quot&semi;binary&quot&semi;&rpar;&semi;

    一:代码: 1.1 入口文件: index.js var server = require('./server'); var router = require("./router" ...

  4. 如何使用IntelliJ集成nodejs进行接口测试&lt&semi;response demo&gt&semi;

    1.相关的配置及安装,在如下地址进行参考,这位大师写得也挺好(mac和windows都可以下载) https://www.jianshu.com/p/dd2d2d0ff133 2.在集成nodejs的 ...

  5. fs&period;createReadStream&lpar;filepath&rpar;&period;pipe&lpar;response&rpar;&semi;这句是什么意思?

    'use strict'; var fs = require('fs'), url = require('url'), path = require('path'), http = require(' ...

  6. node——request和response的常用对象

    request(http.IncomingMessage)和response(http.ServerResponse)对象介绍 request:服务器解析用户提交的http请求报文,将结果解析到req ...

  7. node&period;js入门学习(二)MIME模块,request和response对象,demo之不同url请求不同html页面,页面包含图片、样式css等静态资源

    一.构建http服务程序-根据不同请求做出不同响应 // 加载http模块 var http = require("http"); // 创建一个http服务对象 http.cre ...

  8. 【Azure 应用服务】App Service 通过配置web&period;config来添加请求返回的响应头&lpar;Response Header&rpar;

    问题描述 在Azure App Service上部署了站点,想要在网站的响应头中加一个字段(Cache-Control),并设置为固定值(Cache-Control:no-store) 效果类似于本地 ...

  9. nodejs进阶&lpar;4&rpar;—读取图片到页面

    我们先实现从指定路径读取图片然后输出到页面的功能. 先准备一张图片imgs/dog.jpg. file.js里面继续添加readImg方法,在这里注意读写的时候都需要声明'binary'.(file. ...

随机推荐

  1. Android之卫星菜单的实现

    卫星菜单是现在一个非常受欢迎的“控件”,很多Android程序员都趋之若鹜,预览如下图.传统的卫星菜单是用Animation实现的,需要大量的代码,而且算法极多,一不小心就要通宵Debug.本帖贴出用 ...

  2. Eclipse为成员变量设置前缀

    Eclipse可以自动生成getter和setter,constructor. 菜单 - Source, 有Generate Getters and Setter,Generate Construct ...

  3. Fragments之间的交互&lpar;实现参数传递&rpar;

    Fragments之间的交互(实现参数传递) 日常开发中,通常Fragments之间可能需要交互,比如基于用户事件改变Fragment的内容.所有Fragment之间的交互需要通过他们关联的Activ ...

  4. 洛谷P1251 餐巾(网络流)

    P1251 餐巾 15通过 95提交 题目提供者该用户不存在 标签网络流贪心 难度提高+/省选- 提交该题 讨论 题解 记录 最新讨论 为什么我全部10个测试点都对… 题目描述 一个餐厅在相继的N天里 ...

  5. M&lowbar;LROOT&comma;LD&lowbar;LIBRARY&lowbar;PATH&comma; &OpenCurlyDoubleQuote;Not all extension Dlls were loaded”问题原因及解决方法&lpar;持续更新)

    最近在需要在云主机上进行压力测试,所以需要Linux的Agent. 一.安装:教程可以百度,大概步骤如下: 1.Upload Linux.zip to 指定的机器 2.解压,chmod 777 $Li ...

  6. js的框架

    Ember.js的一些学习总结   1.1.1 摘要 现在,我们经常都可以看到复杂的JavaScript应用程序,由于这些应用程序变得越来越复杂,一长串的jQuery回调语句或者通过应用程序在各个状态 ...

  7. 搭建Redis缓存

    使用的是3.0版本     以前的版本没有redis集群功能 第一步:(单机版) 安装的前提条件: gcc环境: yum install -y gcc-c++ Complete! 第二步: 下载red ...

  8. 下载MySQL历史版本

    下载MySQL历史版本 地址:http://downloads.mysql.com/archives/community/

  9. SecureCRT连接虚拟机中的Linux系统&lpar;Ubuntu&rpar;&lowbar;Linux教程

    有道云笔记链接地址: https://note.youdao.com/share/?id=826781e7ca1fd1223f6a43f4dc2c9b5d&type=note#/

  10. 安装jdk配置环境变量JAVA&lowbar;HOME不起作用

    今天重新安装系统,需要装jdk,配置环境变量,于是先配置JAVA_HOME  D:\Program Files\Java\jdk1.8.0_144, 然后在配置path路径,但是cmd到dos命令行输 ...

相关文章