티스토리 뷰

1. SOP(Same-Origin Policy)

  • 동일 출처 정책. 같은 출처의 리소스만 공유가 가능하다는 정책
    • 공격받을 수 있는 경로를 줄이기 위해 SOP가 생김.
    • 출처: 프로토콜, 호스트, 포트의 조합. 하나라도 다르면 동일한 출처가 아님.

출처

 

2. CORS(Cross-Origin Resource Sharing)

  • 교차 출처 리소스 공유. 추가 HTTP 헤더를 통해 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제.
    • 프라플라이트 요청(Preflight Request): 실제 요청을 보내기 전에 OPTIONS 메서드로 사전 요청을 보내 해당 출처 리소스에 접근 권한이 있는지부터 확인하는 CORS 동작 방식.
    • 단순 요청(Simple Request): 특정 조건 만족 시 프리플라이트 요청을 생략하고 요청을 보내는 CORS 동작 방식
      • GET, HEAD, POST 요청 중 하나
      • 자동으로 설정되는 헤더 외, Accept, Accept-Language, Content-Laugnage, Content-Type 헤더의 값만 수동으로 설정 가능.
        • Content-Type 헤더에는 application/x-www-form-urlencoded, multipart/forn-data, text/plain 값만 허용됨
      • 인증정보를 포함한 요청(Credentialed Request): 요청 헤더에 인증 정보를 담아 보내는 요청. 출처가 다를 경우 별도 설정을 하지 않으면 쿠리를 보낼 수 없음. 프론트, 서버 양측 모드 CORS 설정이 필요함

프리플라이트 요청, 단순 요청

 

3. Mini Node Server 과제 중 필기할만한 것들

  • request.on(이벤트, 콜백함수): request에서 특정 이벤트 발생하면 콜백함수 실행
    • request.on("data", (chunk) => { console.log(chunk); });  // 만약 request에 data가 있으면 data 출력
    • request.on("end", () => { console.log("끝!")}); // 만약 request가 뭐 끝났으면 "끝!"을 출력
  • response.writeHead(상태코드, 헤더 정보); : 응답 헤더에 대한 정보 기록하는 메서드
  • response.end(); : 응답을 종료하는 메서드. 스트림에 보낼 데이터의 마지막 비트를 선택적으로 전달 가능.
  • 왜 chunk라는 이름을 썼는지 궁금했는데, HTTP Responses의 "길이를 모르는 단일 파일로 구성된 단일-리소스 본문은 Transfer-Encoding이 chunked 로 설정되어 있으며, 파일은 chunk로 나뉘어 인코딩되어 있습니다." 라는 문장에서 나오듯, 파일이 chunk로 나뉘어 인코딩되어 있기 때문인 거 같음.

참고 사이트: https://nodejs.org/ko/docs/guides/anatomy-of-an-http-transaction/

'코드스테이츠 부트캠프' 카테고리의 다른 글

재귀, JSON.stringify  (0) 2023.02.16
Section 02 회고  (0) 2023.02.10
상태 끌어올리기 + 과제 필기  (0) 2023.02.02
REST API  (0) 2023.01.31
HTTP/네트워크 기초  (0) 2023.01.30
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함