관리 메뉴

Jerry

[스프린트][회고]mini-node-server 본문

자기 성찰/회고

[스프린트][회고]mini-node-server

juicyjerry 2020. 12. 29. 02:42
반응형

1. 본인이 구현하려고 한 기능을 제시

  1. node.js의 http 모듈을 이용한 웹 서버를 만들기.
  2. 이번 시간에 만드는 웹 서버의 기능은 매우 단순합니다. 버튼을 클릭함에 따라 각기 다른 요청을 보내며, 각각 보낸 단어를 소문자 또는 대문자로 바꿉니다.
    • POST에 문자열을 담아 요청을 보낼 때에, HTTP 메시지의 body(payload)를 이용합니다.
    • 서버는 요청에 대한 적절한 응답을 돌려줘야 합니다.
    • 서버는 POST 요청 이외에는 잘못된 요청임을 클라이언트에 알려줄 수 있어야 합니다.
    • CORS 관련 헤더를 OPTIONS 응답에 적용해야 합니다.
      • 클라이언트의 preflight request에 대한 응답을 돌려줘야 합니다.
      • preflight request에 대한 응답 헤더는 이미 작성되어 있습니다.

 

* 이미 간단한 http 서버, 그리고 클라이언트는 이미 준비되어 있습니다.

 


2. 기능을 구현하기 위해서 자신이 생각한 시도한 전략

 

  • HTTP  트랜지션 해부에 관한 Node.js 레퍼런스를 참고하여 서버를 구축하였다.

nodejs.org/en/docs/guides/anatomy-of-an-http-transaction/

 

Anatomy of an HTTP Transaction | Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org


3. 전략을 진행하는 과정

  • 2번 레퍼런스를 처음부터 끝까지 보면서 작동 원리를 이해하려고 하였다. 
  • 레퍼런스 코드를 IDE로 옮겨와 원하는 기능이 구현되지 시도하였다.


4. 진행 중 겪은 문제 (Error)

  • CORS policy

 

CORS policy 에러 문구

 

 

OPTIONS를 404 에러가 발생하여 덩달아 POST 요청이 failed가 뜬 거 같다.

 

 

options 정보

 


5. Error를 해결하기 위해 참고한 Referece

 

6. Reference를 참고하여 진행한 시도들 및 문제 해결

  • 휴먼 에러가 원인이였다. 
  • request.method === '/OPTIONS'를 request.method === 'OPTIONS'로 수정하였다.

 


7. 문제 해결 이후에 나온 결론 및 교훈

  • 휴먼 에러야 자주 일어나는 에러 중 하나라고 본다. "휴먼 에러를 안 나게 하겠다"라는 말은 힘들 것 같다.

 

반응형