네트워크_WAS,CORS

황호준·2023년 6월 1일

CS

목록 보기
16/29

네트워크

  • REST
    - HTTP URI를 통해 자원을 명시하고, HTTP Method(POST,Put등)을 통해 해당 자원에 대한(기본적인 데이터 처리 기능인CREATE(POST),READ(GET),UPDATE(PUT,PATCH),DELETE를 일컫는 말) CRUD Operation 을 적용하는 것을 의미
  • REST 구성요소
    - 자원(HTTP URI),자원에 대한 행위(HTTP Method),자원에 대한 행위의 내용(HTTP Message Pay Load)
  • REST API
    - REST 원리를 따르는 API

※ 설계
1. URI는 동사보다는 명사를,대문자보다는 소문자 사용
2.마지막에 슬래시로 끝맺음을 하지 않음
3.언더바 대신 하이폰 사용
4.파일확장자는 URI에 포함하지 않음
5.행위를 포함하지 않음

Web Server VS WAS

  • Web Server
    - HTTP 프로토콜을 기반으로 클라이언트가 웹 브라우저에서 어떠한 요청을 하면 그 요청을 받아 정적 콘텐츠(HTML,CSS,이미지 등 즉시 응답 가능한 콘텐츠)를 제공하는 서버 -> 서버가 동적 콘텐츠를 요청받으면 WAS에게 요청 넘겨주고 WAS가 처리한 결과를 클라이언트에게 전달하는 기능도 한다.
  • WAS
    - DB조회 혹은 다양한 로직 처리를 요구하는 동적 콘텐츠를 제공하기 위해 만들어진 Application 서버/ 주로 데이터베이스 서버와 같이 수행(JSP,Servlet 구동환경을 제공해주기 때문에 서블릿 컨테이너/웹 컨테이너라고도 불린다.) -> 프로그램 실행 환경과 DB 접속 기능 제공,여러 개의 트랜잭션을 관리 가능하다.


위 사진처럼 WAS는 WEB SERVER와 WEB Container 역할을 모두 수행할 수 있다. 하지만 분리해야 한다. -> 1. 서버 부하 방지 2. 보안 강화 3. 여러 대의 WAS 연결 가능 4.여러 웹 어플리케이션 서비스 가능

SOP/CORS

  • SOP
    - 다른 출처의 리소스를 사용하는 것에 제한하는 보안 방식
  • CORS (Cross-Origin Resource Sharing)
    – 다른 출처의 자원을 공유/ 추가 HTTP헤더를 사용하여 한 출처에 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제
  • Simple Requests인 경우
    –> 서버로 요청
    -> 서버의 응답이 왔을 때 브라우저가 요청한 Origin과 응당한 Access-Control-Request-Header의 값을 비교하여 유효한 요청이라면 리소스를 응답하고, 유효하지 않은 요청이라면 브라우저에서 막고 에러 발생 시킴
  • Preflight 요청일 경우
    -> origin헤더에 현재 요청하는 origin과 ,Access-control-request-method헤더에 요청하는 HTTP method와 Access-Control-Request-Headers 요청 시 사용할 헤더를 OPTIONS메서드로 서버로 요청한다. 이때 내용물은 없이 헤더만 전송
    -> 브라우저가 서버에서 응답한 헤더를 보고 유요한 요청이라면 원래 요청으로 보내려던 요청을 다시 요청하여 리소스를 응답받는다.
profile
기록 블로그

0개의 댓글