WEB-BE-01 · 요청을 처리하는 백엔드

서버는 문맥에 따라 프로그램이 실행되는 컴퓨터를 뜻하기도 하고 요청을 받는 프로그램을 뜻하기도 합니다. 이 자료에서 백엔드는 HTTP 요청을 처리하고 데이터와 업무 규칙을 관리하는 서버 프로그램을 말합니다.

예를 들어 “전표 E-01 검토 완료” 버튼을 누르면 화면은 요청만 보냅니다. 백엔드는 로그인 사용자, E-01 접근 권한, 필수 검토 항목, 이미 완료된 건인지 확인한 뒤 저장합니다. 화면의 버튼을 숨기는 것만으로 업무 규칙을 지킬 수는 없습니다.

요청 처리 순서

백엔드 요청 처리
요청 수신
→ 인증: 누구인가
→ 인가: 이 작업을 할 수 있는가
→ 입력 검증: 형식과 값이 유효한가
→ 업무 규칙: 현재 상태에서 허용되는가
→ 데이터베이스 또는 외부 서비스 처리
→ 상태 코드와 응답 반환

모든 API가 로그인이나 데이터베이스를 사용하는 것은 아니지만, 필요한 단계의 책임과 순서는 분명해야 합니다. 권한이 없는 요청은 저장부터 한 뒤 거부하지 않고 영향이 생기기 전에 중단합니다.

인증·인가·입력 검증 구분

구분확인하는 질문실패 예시
인증요청한 사용자가 누구인가로그인 정보 없음·만료
인가이 사용자가 이 자료와 동작에 접근할 수 있는가조회는 가능하지만 저장 권한 없음
입력 검증필드·자료형·길이·허용값이 계약과 맞는가필수 ID 누락, 알 수 없는 상태값
업무 규칙현재 업무 상태에서 이 변경이 가능한가이미 완료한 검토를 다시 완료 처리

프론트엔드에 같은 검사를 두더라도 백엔드 검사를 생략하지 않습니다. 사용자는 브라우저 밖에서도 API를 직접 호출할 수 있고, 다른 프로그램이나 이전 버전 화면에서 요청이 올 수도 있습니다.

오류를 안전하게 반환하기

사용자에게는 실패한 작업과 해결 가능한 다음 행동을 알려 주고, 운영자에게는 원인을 찾을 수 있는 로그를 남깁니다. 내부 파일 경로, SQL 문장, 스택 추적, 인증정보를 API 응답에 그대로 노출하지 않습니다.

상황응답에서 전달할 내용서버에서 남길 내용
입력 오류잘못된 필드와 허용 형식필요하면 정제한 검증 실패 정보
권한 거부접근할 수 없다는 상태요청자·대상·거부 규칙
예상하지 못한 오류작업 실패와 재시도 가능 여부상관관계 ID, 예외와 실패 단계

성공 응답을 만들기 위해 잘못된 입력을 임의로 고치거나 누락된 파일을 빈 결과로 바꾸지 않습니다. 실패 종류가 달라야 프론트엔드와 운영자가 올바르게 대응할 수 있습니다.

API를 추가할 때 확인할 내용

  • 기존 경로와 업무 함수를 먼저 재사용할 수 있는가
  • 인증·인가·입력 검증·업무 규칙의 소유 위치가 분명한가
  • 데이터 변경 전에 모든 거부 조건을 확인하는가
  • 실패를 성공이나 빈 데이터로 바꾸지 않는가
  • 응답에 비밀정보와 불필요한 내부 정보가 없는가

2-04 · 사례별 통제 근거 연결하기에서는 요청자의 조회 권한을 백엔드에서 확인합니다.

공식 근거