개발일기/CS(면접)
HTTP 메서드란? // CORS 란?
w.llama
2024. 7. 22. 23:41
HTTP 메서드란?
- 클라이언트와 서버 간의 요청과 응답을 처리하는 방식이다. 각 메서드는 특정한 동작을 수행하며, 주로 리소스와의 상호작용을 정의합니다. HTTP 메서드는 주로 9가지가 있으며 그중 5가지가 가장 많이 사용된다
- 주요 메서드
- POST
- 새로운 리소스를 생성하거나 데이터를 추가하는 데 사용됩니다.
- 요청 데이터는 메시지 바디를 통해 서버로 전달됩니다.
- 멱등성을 가지지 않으며, 여러 번 호출시 리소스 상태가 변할수 있습니다. - GET
- 리소스를 조회하는데 사용됩니다.
- 멱등성을 가지며, 여러번 호출해도 리소스 상태가 변하지 않습니다. - PUT
- 리소스를 대체하거나 수정하는 데 사용됩니다.
- 리소스가 존재하지 않으면 새로 생성합니다.
- 멱등성을 가집니다. - DELETE
- 특정 리소스를 삭제하는 데 사용됩니다.
- 멱등성을 가집니다. - PATCH
- 리소스의 일부를 수정하는 데 사용합니다.
- PUT과 달리 전체가 아닌 부분 변경을 수행합니다.
- POST
- 기타 메서드
- HEAD
- GET과 유사하지만, 응답 본문을 포함하지 않습니다.
- 주로 메타데이터를 조회하는 데 사용됩니다. - OPTIONS
- 서버가 지원하는 메서드와 통신 옵션을 확인하는 데 사용됩니다.
- 주로 CORS정책을 검사하기 위해 사용됩니다. - CONNECT
-대상 자원으로 식별되는 서버에 대한 터널을 설정합니다. - TRACE
- 요청이 서버까지 도달하는 경로를 따라 메세지 루프백 테스트를 수행합니다
- HEAD
CORS 란?
- 웹 브라우저에서 다른 출처(도메인,프로토코르포트)의 리소스에 접근할 수 있도록 하는 보안 메커니즘입니다. 주요 특징은 다음과 같습니다.
- 목적
- 웹 애플리케이션이 다른 출처의 API나 리소스를 안전하게 사용할 수 있게 합니다.
-동시에 악의적인 스크립트로부터 사용자를 보호합니다. - 작동 방식
- 브라우저가 요청을 보낼 때 Origin 헤더를 포함시킵니다.
- 서버는 Access-Control-Allow-Origin 헤더로 허용된 출처를 지정하여 응답합니다.
- 브라우저는 이 헤더를 확인하여 응답을 수락할지 결정합니다. - 플리플라이트 요청
- 복잡한 요청의 경우, 브라우저는 먼저 OPTIONS 메서드로 프리플라이트 요청을 보냅니다.
- 서버는 허용된 메서드, 헤더 등을 응답으로 알려줍니다. - 보안
- 동일 출처 정책을 확장하여 더 유연한 리소스 공유를 가능하게 합니다.
- 서버가 명시적으로 허용한 출처만 리소스에 접근할 수 있습니다. - 구현
- 서버 측에서 적절한 CORS헤더를 설정해야 합니다.
- 클라이언트는 자동으로 CORS 규칙을 적용합니다.
- 목적
- CORS는 SOP 와 비슷하게 웹보안을 담당하지만, SOP의 제한을 안전하게 완화하기 위한 메커니즘이다