서버(Server)
• 서버(Server)는 클라이언트의 요청(Request)을 받아 처리하고 응답(Response)을 반환하는 시스템이다.
• 웹 브라우저, 모바일 앱같은 클라이언트가 서버에 요청을 보내면, 서버는 필요한 데이터를 처리하여 결과를 반환한다.
하드웨어로서의 서버
• 물리적인 컴퓨터 장비 자체를 의미한다.
• 일반 PC와 비슷하지만 더 높은 성능, 더 안정적인 전원, 24시간 동작 가능 등 서버 운영에 최적화되어 있다.
• 보통 데이터 센터, 클라우드 환경 등에서 운영된다.
• 서버 하드웨어 특징:
> 24시간 365일 동작
> 항상 인터넷 연결 상태 유지
> 고정 IP 주소 사용
> 높은 성능과 안정성 보유
클라우드 서비스란?
• 대형 IT 기업이 서버를 인터넷을 통해 빌려주는 서비스이다.
• 개발자는 직접 서버 컴퓨터를 구매하지 않고도 필요한 만큼 서버를 사용할 수 있다.
> Amazon Web Services
> Google Cloud
> Microsoft Azure
소프트웨어로서의 서버
• 백엔드 개발자가 만드는 서버 프로그램을 의미한다.
• 대표적으로 Spring, Node.js, Django 같은 기술을 사용하여 서버 프로그램을 개발한다.
• 서버 프로그램은 클라이언트 요청을 받고 필요한 작업을 수행한 뒤 결과를 응답하도록 설계된다.
• 컴퓨터에는 수많은 Port(포트)가 존재하며 포트는 외부 요청을 받기 위한 출입구라고 이해하면 쉽다.
• 하나의 컴퓨터 안에서도 웹 서버, 데이터베이스, 게임 서버등 여러 프로그램이 동시에 실행될 수 있기 때문에 각 프로그램은 서로 다른 포트를 사용한다.
• 대표적인 포트 번호
| 80 | HTTP 기본 요청 |
| 443 | HTTPS 보안 요청 |
| 3306 | MySQL 데이터베이스 |
| 8080 | 개발용 웹 서버에서 자주 사용 |
서버의 역할
• 서버는 크게 웹 파일 제공, API 제공 역할을 수행할 수 있다.
웹 파일 제공
• 서버가 HTML, CSS, JavaScript 파일을 클라이언트에게 전달하는 방식이다.
요청(Request)
• 클라이언트가 서버에 웹 파일을 요청한다.
index.html 파일 요청
응답(Response)
• 서버는 요청받은 파일을 찾아 클라이언트에게 전달한다.
• 브라우저는 전달받은 파일을 해석하여 화면에 출력한다.
API 제공
• 서버가 비즈니스 로직을 처리하고 데이터를 반환하는 방식이다.
• 현대 웹 서비스에서 가장 중요한 서버 역할 중 하나이다.
요청(Request)
• 클라이언트가 서버에 기능 수행을 요청한다.
> 로그인 요청
> 게시글 조회 요청
> 댓글 작성 요청
응답(Response)
• 서버는 요청을 해석하고 데이터를 처리한 뒤 결과 상태와 데이터를 반환한다.
• 주로 JSON 형태의 데이터를 응답한다.
{
"result": "success",
"message": "로그인 성공"
}
'웹개발' 카테고리의 다른 글
| API 분석하고 설계해보기 (0) | 2026.05.29 |
|---|---|
| HTTP (0) | 2026.05.28 |
| JavaScript (0) | 2026.05.28 |
| CSS (0) | 2026.05.27 |
| HTML (0) | 2026.05.26 |