TIL [Node Server]

해달·2021년 8월 4일
0

TIL

목록 보기
25/80
post-thumbnail

Today 공부

  • CORS
  • Node server method
  • 단일요청

writeHead(statusCode, object) : 응답헤더 작성

인자
writeHead(상태코드 ,{
  '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
};```
-MDN 설명ex-
Access-Control-Allow-Origin' * '모든 도메인(*)을 허용한다
Access-Control-Allow-Methodspreflight 요청에 대한 응답으로 리소스에 접근할 때 허용되는 메소드를 명시합니다.'GET, POST, PUT, DELETE, OPTIONS'Methods
Access-Control-Allow-Headers실제 요청을 만들 때 사용될 수 있는 HTTP 헤더를 나타내는 preflight 요청에 대한 응답으로 사용됩니다.'Content-Type, Accept'헤더에는 content-type과 accept만 쓸 수 있다
Access-Control-Max-Age-10prefliht request는 10초까지 허용한다
  • statusCode === status line
  • object === headers

HTTP (복습)

  • start line : start line에는 요청이나 응답의 상태를 나타냅니다. 항상 첫 번째 줄에 위치합니다. 응답에서는 status line이라고 부릅니다.
  • HTTP headers : 요청을 지정하거나, 메시지에 포함된 본문을 설명하는 헤더의 집합입니다.
  • empty line : 헤더와 본문을 구분하는 빈 줄이 있습니다.
  • body : 요청과 관련된 데이터나 응답과 관련된 데이터 또는 문서를 포함합니다. 요청과 응답의 유형에 따라 선택적으로 사용합니다.

사전 요청 (preflight)

교차 출처 리소스 공유 사전 요청은 본격적인 교차 출처 HTTP 요청 전에 서버 측에서 그 요청의 메서드와 헤더에 대해 인식하고 있는지를 체크하는 것입니다.
이것은

  • HTTPHeader("Access-Control-Request-Method"),
  • HTTPHeader("Access-Control-Request-Headers"),
  • HTTPHeader("Origin") 총 3가지의
    HTTP request headers 를 사용하는 HTTPMethod("OPTIONS") 요청입니다.

단순 요청 공식문서

일부요청은 CORS preflight 를 트리거하지 않습니다. Fetch 명세(CORS를 정의한)는 이 용어를 사용하지 않지만, 이 기사에서는 "simple requests"라고 하겠습니다. "simple requests"는 다음 조건을 모두 충족하는 요청입니다

  1. 메서드 ( get,head,post)

  2. Content-Type 헤더
    • application/x-www-form-urlencoded
    • multipart/form-data
    • text/plain

마치며,

서버를 공부하고 작동을 시키다보니, HTTP 부분의 공부가 부족한거 같다 느껴졌다.
연결되어있는 부분이 많아 중요한 부분은 놓치지말고 기억해야겠다 생각했다.
낯설고 생소한 용어들을 이번에 정말 많이 만나서 기록을 잘해야겠다.

https://nodejs.org/ko/docs/guides/anatomy-of-an-http-transaction/
메우좋은 공식문서

0개의 댓글