CORS 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제이다. 웹 애플리케이션은 리소스가 자신의 출처(호스, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요청을 실행한다. 출처란? URL의 구성 요소인 프로토콜, 호스트, 포트를 말한다. 동일 출처 정책(Same Origin Policy) 다른 출처로부터 조회된 자원들의 읽기 접근을 막아 다른 출처 공격을 예방한다. 동일 출처(Same-Origin) 서버에 있는 리소스는 자유로이 가져올 수 있지만, 다른 출처(Cross-Origin) 서버에 있는 이미지나 유튜브 영상 같은 리소스는 상호작용이 불가능하다. 필요 이유 만일 제약이 없다면, 해커가..
HTTP METHOD? 클라이언트와 서버 사이에 이루어지는 요청과 응답 데이터를 전송하는 방식을 일컫는다. → 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방법 리소스란? 웹 사이트에 접속하거나 API 호출 시, 서버로부터 제공받는 식별 가능한 자원들을 의미 한다. 텍스트, 이미지, 동영상 등과 같은 정적 파일들을 말함과 동시에 URI 관점에서 …/memos 의 경우 메모들이라는 자원들을 의미하고, 이렇게 식별 가능한 자원을 리소스라 칭한다. 멱등성이란? 동일한 요청을 한 번 보내는 것과 여러 번 연속으로 보내는 것이 같은 효과를 지니고, 서버의 상태도 동일하게 남을 때 해당 HTTP 메서드가 멱등성을 가졌다고 말한다. GET, HEAD, PUT, DELETE 메서드는 멱등성을 가지며 POST, P..
API 클라이언트와 서버는 서로 직접적으로 호출하기보다는, Application Programming Interface (API)라 불리는 중간자 역할의 인터페이스를 사용합니다. REST 정의 Representational State Transfer의 약자로 해석하면 원하는 리소스를 현재 상태에 걸맞은 형태로 전송하는 것이다. 즉 자원의 표현에 의한 상태 전달을 뜻합니다. 자원: 해당 소프트웨어가 관리하는 모든 것 (문서, 그림, 데이터 등) 표현: 그 자원을 표현하기 위한 이름 (DB의 학생 정보가 자원이면, 'students'를 자원의 표현으로 정한다.) 상태 전달: 데이터가 요청되는 시점에 자원의 상태를 전달한다. (JSON, XML 등) REST는 웹의 기존 기술과 HTTP 프로토콜을 그대로 사용..