본문 바로가기
프로그래밍/용어

클라이언트-서버 아키텍처에서 엔드포인트(Endpoint)란?

by 타미타레 2025. 1. 6.

목차

    클라이언트-서버 아키텍처에서 엔드포인트란?

      엔드포인트는 클라이언트가 백엔드 서버와 통신할 때 요청을 보낼 수 있는 URI(URL)의 특정 지점을 의미한다. 특정 리소스나 기능에 접근할 수 있는 주소 역할을 하며, HTTP 요청을 처리하는 백엔드의 진입점이다.

    엔드포인트 구성

    엔드포인트 구성 = HTTP 메서드 + URL 경로 + (요청 헤더와 본문)

     

    1. HTTP 메서드

    클라이언트가 서버에 요청하는 작업의 종류를 나타낸다. 대표적인 HTTP 메서드는 다음과 같다.

    • GET : 리소스를 조회할 때 사용
    • POST : 리소스를 생성할 때 사용
    • PUT : 리소스를 수정할 때 사용
    • DELETE : 리소스를 삭제할 때 사용

    2. URL 경로(Path)

    서버의 특정 리소스에 대한 경로를 지정한다.  예를 들어 /api/users 라는 URL 경로는 사용자의 리소스를 의미할 수 있다.

     

    (예시) 엔드포인트와 Spring 컨트롤러 관계

    @RestController
    @RequestMapping("/api/users")
    public class UserController {
    
        @GetMapping
        public List<User> getAllUsers() {
            // 모든 사용자 조회 로직
        }
    
        @PostMapping
        public User createUser(@RequestBody User user) {
            // 사용자 생성 로직
        }
    
        @GetMapping("/{id}")
        public User getUserById(@PathVariable Long id) {
            // 특정 사용자 조회 로직
        }
    }
    • 클라이언트에서 /api/users 요청하면 백엔드에서 /api/users path를 관리하는 UserController를 호출하고 HTTP Method에 따라 그 에 해당하는 기능을 실행한다. 
      • GET /api/users → 사용자 목록 조회 엔드포인트
      • POST /api/users → 사용자 생성 엔드포인트
      • GET /api/users/{id} → 특정 사용자 조회 엔드포인트

     

    3. 요청 헤더(Header)와 본문

    요청에 대한 추가 정보(인증 토큰, 데이터 형식 등)을 포함할 수 있다.

     

    (예시) 요청 본문(JSON)

    {
      "name": "John Doe",
      "email": "john@example.com"
    }

    '프로그래밍 > 용어' 카테고리의 다른 글

    Spring Boot에서 핸들러(Handler)란?  (1) 2025.01.03

    댓글