cors

Cross-Origin Resource Sharing
추가 HTTP 헤더를 사용하여 실행중인 웹 애플리케이션이 다른 출처의 선택한 서버에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제.
웹 애플리케이션은 리소스가 자신의 출처(도메인,프로토콜,포트와 다를 때 교차 출처 HTTP 요청을 실행.

접근 제어 시나리오

단순 요청
프리플라이트 요청
인증정보를 포함한 요청

HTTP 트랜잭션 해부

서버 생성

carateServer를 이용한다.

http 요청이 서버에 오면 node가 트랜잭션을 다루려고 request와 response 객체를 전달하며 요청 핸들러 함수를 호출한다.

listen

서버가 구동이 되려면 무조건 listen이 있어야 한다.
대부분의 서버가 사용하고자 하는 포트 번호를 listen에 전달하기만 하면 된다.
전달을 안 해도 서버는 열린다.

보통 마지막에 오는 인자에 console.log를 사용하는 이유는, 서버가 잘 동작하는지 console.log 뜨는 것을 보고 확인하기 위해서다.
인자는 전부 생략이 가능하다!

error

에러 부분 처리 방식.

statusCode

현재 상태를 말한다.
https://developer.mozilla.org/ko/docs/Web/HTTP/Status
200 : 성공
300 :
400 : 클라이언트 잘못
500 : 서버 잘못

OPTIONS

CORS에서 클라이언트(request)에서만 사용하는 것으로, 서버에게 프리플라이트를 요청하여 서버가 해당 parameters를 포함한 요청을 보내도 되는지 물어보는 것.

https://developer.mozilla.org/ko/docs/Web/HTTP/Methods/OPTIONS

payload

전송되는 데이터를 의미한다.
보내고자 하는 데이터 자체를 의미하는 것이 페이로드다.
택배 배송을 예를 들면 택배 물건이 페이로드이고 송장이나 박스, 뾱뾱이와 같은 완충재 등등은 부가적인 것이기 때문에 페이로드가 아니다.
즉, 데이터 그 자체

각종 method

.writeHead(stateCode, header에 넣을 값)

클라이언트에서 OPTIONS로 요청이 오면, writeHead 메소드를 사용하여 header 부분에 그에 대한 대답을 적는 것.
writeHead(stateCode, header에 넣을 값)
위 사진에서 header에 넣을 값은 이렇게 정해져있다.

.end(보내줄 값)

.end()는 return이라고 생각하면 된다.

request.on(event명, eventlistener(함수))

request.on('data', 함수)

.on은 request에 내장된 메소드라고 생각.

만약 payload에 10줄이 왔다고 생각을 하면, map 함수처럼 payload에 있는 것을 한 줄씩 빼와서 함수 인자에 넣어 함수를 실행.

.on('end', 함수)

앞에 작업이 끝나면 뒤에 함수를 실행해라.

2022

svelte
typescript
react
sql

오늘 배운 것

pakage.jason에서 start를 추가하여 수정하기
nodemon install = npm i nodemon --save
"start": "nodemon server/basic-server.js"

이런식으로 nodemon 적용
serve module을 서버에다가 설치.
터미널에서 서버를 열기.


defaault parameter, 구조분해할당
map 다시 자세히.
생코 객체지향 14번
async/await 및 비동기 복습하기. 동영상 보면서 개념 다시 정리하기.
피보나치(재귀함수)
callback

profile
코딩 일기장

0개의 댓글