Http헤더 - Content-Type

Dev.Jo·2021년 8월 18일
0
post-custom-banner

http 모듈을 이용해서 서버로 온 요청에 대한 응답을 보낼 때 http 헤더에 Content-Type이라는 필드를 지정할 수 있다.

http
  .createServer((req, res) => {
    try {
      const template = fs.readFileSync("./index.html");
      res.writeHead(200, {
        "Content-Type": "text/plain; charset=utf-8",
      });
      res.write(template);
      res.end();
    } catch (err) {
      console.log(err);
    }
  })

text/html

  • Content-Type을 text/html로 지정해주었기 때문에 서버로부터 응답을 받은 클라이언트는 html파일이구나!라고 깨닫게 되고 html파일로 해석한다

  • index.html 파일을 받은 클라이언트는 html파일로 해석하여 input과 button을 그린다

text/plain

  • 만약 text/html이 아닌 text/plain이라고 지정하면 response를 받은 클라이언트는 응답의 Body가 단순한 문자열이라고 해석하기 때문에 다음과 같은 문제가 발생한다

  • 단순한 plain String으로 클라이언트는 인식하기 때문에 index.html 파일을 문자열 그대로 받는다
profile
소프트웨어 엔지니어, 프론트엔드 개발자
post-custom-banner

0개의 댓글