HTTP 메서드는 클라이언트와 서버 간에 통신할 때 사용되는 요청 방식을 나타내는 메서드로, Java Spring에서도 HTTP 메서드를 활용하여 웹 애플리케이션을 개발할 수 있다. 주요 HTTP 메서드는 GET, POST, PUT, PATCH, DELETE이며, 기타 메서드로는 HEAD, OPTIONS, CONNECT, TRACE가 있다.
@GetMapping("/resource")
public ResponseEntity<Resource> getResource() {
// GET 요청 처리 로직
}
@PostMapping("/resource")
public ResponseEntity<Resource> createResource(@RequestBody Resource resource) {
// POST 요청 처리 로직
}
@PutMapping("/resource/{id}")
public ResponseEntity<Resource> updateResource(@PathVariable Long id, @RequestBody Resource resource) {
// PUT 요청 처리 로직
}
@PatchMapping("/resource/{id}")
public ResponseEntity<Resource> partiallyUpdateResource(@PathVariable Long id, @RequestBody Map<String, Object> updates) {
// PATCH 요청 처리 로직
}
@DeleteMapping("/resource/{id}")
public ResponseEntity<Void> deleteResource(@PathVariable Long id) {
// DELETE 요청 처리 로직
}
이러한 HTTP 메서드를 적절하게 활용하여 Java Spring에서 웹 애플리케이션을 개발할 수 있다.
CORS (Cross-Origin Resource Sharing)는 웹 애플리케이션에서 다른 도메인 간에 리소스를 공유하기 위한 메커니즘. 이를 이해하기 위해서는 먼저 SOP (Same-Origin Policy)의 개념을 알아야 함.
SOP는 웹 브라우저에서 적용되는 보안 정책으로, 동일 출처 정책이라고도 함. 이 정책에 따르면, 웹 페이지에서 로드되는 리소스(HTML, CSS, JavaScript 등)는 동일한 출처(프로토콜, 호스트, 포트가 동일)에서만 로드되어야 함. 다른 출처에서 리소스를 로드하려면 SOP에 의해 제한되어 보안 상의 이유로 접근이 차단됨.
CORS는 웹 브라우저에서 SOP를 우회하는데, 서버는 클라이언트가 CORS를 지원하는지 확인하기 위해 HTTP 헤더인 "Access-Control-Allow-Origin"을 설정. 이 헤더에는 허용된 도메인의 목록이 포함되며, 클라이언트의 Origin과 비교하여 접근을 허용하거나 차단.
따라서 CORS는 클라이언트가 다른 도메인의 리소스에 안전하게 접근할 수 있도록 허용하면서도 보안을 유지하는 역할. 이를 통해 웹 애플리케이션 간의 상호작용이 가능하며, 다양한 도메인 간에 리소스를 공유하고 통신할 수 있음.