Node.js/모듈

[ NodeJS / http ] response.writeHead()

OnnJE 2023. 3. 18. 10:32
반응형

  writeHead는 http response의 header를 설정하기 위한 http 모듈의 메서드이며 두 개의 인자를 받습니다.

 

response.writeHead(statusCode, headers)

 

  • statusCode : http response의 상태코드를 특정합니다. 서버로부터 성공적인 응답을 받은경우 200을 할당하고, Not found 오류의 경우 404를 할당합니다.
  • headers : http response header를 나타내는 key-value 쌍이 담긴 객체입니다. 인자를 전달하지 않을 경우 기본값으로 설정됩니다.

 

writeHead 예시

res.writeHead(200, {
  'Content-Type': 'text/html',
  'Cache-Control': 'no-cache'
});

 

headers

  • Content-Type : response body의 MIME을 특정합니다.
  • Content-Length :  response body의 길이를 특정합니다.(bytes)
  • Cache-Control : 클라이언트가 response를 어떻게 캐싱할지 특정합니다.
  • Location : 클라이언트가 리디릭션하기 위해 지정해야하는 url을 특정하기 위해 사용됩니다.
  • Set-Cookie : 클라이언트의 브라우저에서 쿠키를 설정하기 위해 사용됩니다.
  • Access-Control-Allow-Origin : This header specifies the allowed origins for cross-origin resource sharing (CORS)

 

writeHead에서 header를 특정함으로써 얻는 이득

  • 사용자 경험 개선 :  Content-Type 헤더를 text/html로 설정하면 브라우저가 응답을 HTML 문서로 해석하도록 지시하여 브라우저가 페이지를 제대로 렌더링할 수 있습니다.
  • 성능 향상 : Cache-Control 헤더를 설정하면 브라우저가 응답을 캐시하도록 지시하여 서버에 대한 요청 수를 줄이고 페이지 로드 시간을 개선할 수 있습니다.
  • SET 개선 : 웹사이트의 검색 엔진 최적화(SEO)를 개선하는 데에도 도움이 됩니다. X-Robots-Tag 헤더를 설정하면 검색 엔진 크롤러가 웹사이트의 특정 페이지를 색인화하거나 색인화하지 않도록 지시할 수 있습니다.
  • 보안성 향상 : X-Frame-Options 헤더를 DENY로 설정하면 웹 페이지가 다른 웹사이트의 iframe에 포함되지 않도록 하여 클릭재킹 공격을 방지할 수 있습니다.

 

반응형