[SEB FE 44] Web Server 기초

Heechang Jeong·2023년 4월 4일
0

CODE STATES

목록 보기
37/40
post-thumbnail

✍ 복습 자료

  • CORS

    Cross-Origin Resource Sharing
    교차 출처 리소스 공유

    추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제

    브라우저는 SOP에 의해 기본적으로 다른 출처의 리소스 공유를 막지만, CORS를 사용하면 접근 권한을 얻을 수 있게 되는 것

  • 프리플라이트 요청은 왜 필요한가?

    실제 요청을 보내기 전에 미리 권한 확인을 할 수 있기 때문에, 실제 요청을 처음부터 통째로 보내는 것보다 리소스 측면에서 효율적이다.

    CORS에 대비가 되어있지 않은 서버를 보호할 수 있다. CORS 이전에 만들어진 서버들은 SOP 요청만 들어오는 상황을 고려하고 만들어졌다. 따라서 다른 출처에서 들어오는 요청에 대한 대비가 되어있지 않았다.

    이러한 이유로 프리플라이트 요청이 CORS의 기본 사양으로 들어가게 되었다.


  • response 객체의 메소드

    • response.write()
      서버가 브라우저에 response를 보내주는 역할만 한다.
      response를 여러 번에 걸쳐 계속 보내줄 수 있으며, 모든 response를 다 보낸 후에는 response.end()를 써서 종료시점을 명시해 줘야 한다.

    • response.end()
      클라이언트에게 데이터를 보내고 응답을 끝낼 수 있다.
      서버에게 데이터가 다 로딩되었다는 걸 알려주며 웹 페이지가 계속 로딩되는걸 방지할 수 있다.

response를 한 번에 보낼 것인지 여러 번에 걸쳐 나누어서 보낼 것인지에 따라 사용할 수 있는 코드의 가능성이 달라진다.

response를 여러 번에 걸쳐 보낼 때는 response.write()을 여러 번 사용하여 내용을 전달한 다음 response.end()로 connection을 끝내면 된다.

response를 한 번에 보낼 때는 두 가지 방법이 있다.
1. response.write()와 response.end()를 사용하기.
2. response.end()만 사용하여 response의 전달과 connection 종료 시점 명시를 한 번에 할 수 있다.



Reference

0개의 댓글