Is it necessary to set a Content-Type in Node.js?

后端 未结 4 591
难免孤独
难免孤独 2021-01-21 08:33

Just started playing with Node.js and after seeing a few examples I see that usually the Content-Type is set before returning some content.

Usually somethin

4条回答
  •  深忆病人
    2021-01-21 09:28

    If you're using Express within your node app, then response.send(v) will implicitly pick a default content-type depending on the runtime type of v. More specifically, the behavior of express.Response.send(v) is as follows:

    • If v is a string (and no content-type has already been set) then send Content-Type: text/html
    • If v is a Buffer (and no content-type has already been set) then send Content-Type: application/content-stream
    • If v is any other bool/number/object (and no content-type has already been set) then send Content-Type: application/json

    Here's the relevant source code from Express: https://github.com/expressjs/express/blob/e1b45ebd050b6f06aa38cda5aaf0c21708b0c71e/lib/response.js#L141

提交回复
热议问题