HTTP 메시지 전송의 구체적 방법 (cors header 포함)

김민석·2021년 3월 19일
0

Immersive

목록 보기
24/30

CORS header 전송 방법

const server = http.createServer(async (req, res) => {
  
  if(req.method === 'OPTIONS'){
    //이런 식으로 기입해주면 된다.
    res.writeHead(200, defaultCorsHeader)
    res.end()
 
  })


//이런 식으로 정의한 것을,텍스트
const defaultCorsHeader = {
  'Access-Control-Allow-Origin': '*',
  'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
  'Access-Control-Allow-Headers': 'Content-Type, Accept',
  'Access-Control-Max-Age': 10
};

HTTP 트랜젝션 해부 링크

이 링크는 Node.js에서 HTTP 서버를 빌드하는 기본적인 방법을 다루고 있다.

https://nodejs.org/ko/docs/guides/anatomy-of-an-http-transaction/

이 사이트에 각 객체들이 어떤 메소드를 갖고있고 어떤 class에 속하는 지 등이 자세하게 나와있다.

내가 이번에 궁금했었고, 조금이나마 해결했던 것은,
request.on이다.

request.on() 같은 행위가 가능한 이유는
request가 ReadableStream의 인스턴스며, EventEmitter의 인스턴스기도 하기 때문이라고 한다.

EventEmitteron이라는 method를 갖고 있다. 참고

onaddEventListner처럼 특정 event가 생기면 callback을 실행시킨다.
또한 다시 EventEmitter 객체를 return하기 때문에 chaining이 가능하다.

0개의 댓글