본문 바로가기
SPRINGBOOT

클라이언트와 서버

by 정공자씨 2024. 1. 2.

 

클라이언트와 서버

1. 클라이언트 : 서비스를 요청하는 애플리케이션
2. 서버 : 서비스를 제공(응답)하는 애플리케이션

역할에 따른 구분 : 요청하는 쪽(클라이언트), 응답하는 쪽(서버)

 

 

서버의 종류

어떤 종류의 서비스를 제공하느냐에 따라 서버의 종류가 다름

 

 

서버의 포트

- 같은 컴퓨터 안에(하나의 IP)에 여러 서버 프로그램이 돌아갈 수 있어서, 이를 구별하기 위해 포트(port)를 사용
- IP는 포트(port)와 연결이 되어 있음
- 해당 서버 프로그램에 접속하기 위해서, 연결된 포트 번호에 요청하여 프로그램에 접속

 

 [ 예시 ]

  • 회사 대표 전화 1588-8888이고, 인사팀 내선 번호가 #1111 경우
  • IP 주소가 111.222.333.44이고, Email server에 접속하기 위한 포트 번호가 25번인 경우
    • 111.222.333.44 : 25
  •  

 

웹 애플리케이션 서버(WAS)

- 웹 애플리케이션(프로그램)을 서비스하는 서버
- 원격 프로그램을 호출할 수 있게 해주고, WAS(예: 톰캣 서버)가 실행 결과를 전송
- springboot는 내장 톰캣을 사용함

 

 

TCP, IP, HTTP



TCP/IP
  • 클라이언트와 서버를 서로 연결해주고, 연결을 하면 input/output Stream이 생성
  • input, output Stream - 요청과 응답 시에 사용
HTTP
  • 연결 후에 클라이언트와 서버 간의 요청과 응답을 함(HTTP 데이터를 주고 받음) 
  • IP(Internet Protocol) : IP주소를 이용한 전송 프로토콜, 비 연결 기반
  • TCP(Transfer Control Protocol)
    • 패킷 전송을 제어(통신이 끊기는 상황이 있으면, 확인하여 재 전송 등을 해줌)
    • 연결 기반
  • HTTP(Hyper Text Transfer Protocol) : 텍스트 프로토콜