웹 기본
클라이언트(Client)
클라이언트는 서버에 작업이나 데이터를 요청하고 응답을 받는 프로그램입니다.
쉬운 설명
웹 앱에서 “클라이언트에서 오류가 났다”는 말은 보통 사용자의 브라우저 쪽에서 문제가 생겼다는 뜻이에요. 브라우저는 서버에 페이지나 데이터를 요청하고 받은 결과로 화면을 보여 줘요. 모바일 앱이나 API를 호출하는 프로그램도 클라이언트가 될 수 있어요. 사람이 아니라 요청하는 프로그램의 역할을 가리키는 말이에요.
이런 상황에서 만나요
스터디 신청 버튼을 눌렀는데 완료 안내가 나오지 않는다고 해 볼게요. 브라우저 개발자 도구의 Network 탭에서 요청을 보냈는지, 서버가 어떤 응답을 했는지 확인할 수 있어요.
버튼을 누른 뒤 요청과 응답을 확인해요
스터디 신청하기 클릭
POST /api/applications
Status 201 Created
{"id":"application-example"}- 1사용자 행동으로 신청 요청이 발생하는 상황이에요.
- 2클라이언트가 신청 정보를 서버로 보내는 예시예요.
- 3서버가 새 신청을 만들었다고 응답한 예시예요. 화면 표시도 별도로 확인해요.
아래는 정상 응답의 설명용 예시예요. 실제로 요청이 없다면 버튼 동작과 브라우저 오류부터 살펴봐요. 요청이 있다면 상태 코드와 응답 내용을 확인해요. 응답 성공과 화면의 완료 안내가 제대로 보이는지도 나누어 확인해요.
헷갈리기 쉬운 점
클라이언트는 프론트엔드와 같은 뜻인가요?
웹 앱 이야기에서는 겹치는 부분이 많지만 기준이 달라요. 프론트엔드는 사용자 화면 쪽의 개발 영역을 말하고, 클라이언트는 특정 통신에서 요청을 보내는 역할을 말해요. 백엔드 서버도 외부 AI API를 호출할 때는 그 API의 클라이언트예요.
브라우저에서 실행되는 코드와 전송되는 값은 사용자가 확인하거나 바꿀 수 있어요. 비밀 API 키를 넣거나 브라우저의 입력 검사만으로 중요한 권한을 결정하지 않아요.
왜 알아야 할까요?
버튼이 반응하지 않을 때 브라우저의 실행 문제인지, 서버 요청이 실패한 것인지 나누어 조사할 수 있어요. AI에게도 요청 유무·상태 코드·응답 내용을 구분해 전달할 수 있어요.
조금 더 자세히
웹에서는 클라이언트와 서버가 HTTP 요청과 응답을 주고받습니다. 요청에는 수행할 작업을 나타내는 메서드와 대상 경로 등이 들어가고, 응답에는 상태 코드와 데이터 등이 들어갑니다.
클라이언트와 서버는 기기를 영구적으로 분류하는 이름이 아니라 통신 관계에서 맡는 역할입니다. 한 프로그램이 브라우저에는 서버로 응답하면서 다른 서비스에는 클라이언트로 요청할 수 있습니다.
직접 사용할 때 확인해 보세요
- 브라우저에서 요청이 실제로 발생했는지 확인한다
- 상태 코드와 응답 내용을 함께 읽는다
- 브라우저 오류와 서버 오류를 구분해 전달한다