서적/모두의 네트워크 기초

07 - 응용 계층, 애플리케이션에 접속하는 단계

kelly09 2025. 2. 9. 11:06

*<모두의 네트워크 기초>를 정리한 내용입니다.

응용 계층의 역할

: 사용자가 사용하는 애플리케이션(응용 프로그램)이 동작하는 곳

  • 클라이언트 - 서비스를 요청하는 측
  • 서버 - 서비스를 제공하는 측
  • 클라이언트에서 서버로 데이터를 보내기 위해 프로토콜 사용

응용 계층의 대표적인 프로토콜

프로토콜 내용

HTTP 웹 사이트 접속
DNS 이름 해석
FTP 파일 전송
SMTP 이메일 송신
POP3 이메일 수신

 

HTTP 프로토콜

  • 요청(request) - 사용자가 URL을 입력
  • 응답(response) - 사용자의 요청에 응답

⇒ 요청과 응답을 위해 HTTP 프로토콜 사용

HTTP(HyperText Transfer Protocol)

  • 클라이언트와 서버가 어떻게 데이터를 교환할지 정해놓은 규칙
  • 80번 포트 사용
  • 문자 형태로 데이터 전송, 필요한 부분 파싱 필요

시작 라인

헤더
공백
body
<html>
</html>

시작 라인 (HTTP 메서드, 경로, HTTP 버전)

GET/index.html HTTP/1.1
HTTP 메서드 / 경로 / HTTP 버전
  • HTTP 메서드 - 데이터를 수신하는 서버에서 어떤 작업을 해야 하는지 알려주는 용도
GET - 서버로부터 데이터 획득
POST - 서버에 데이터 추가, 생성
PUT - 서버의 데이터 갱신
PATCH - 요청된 데이터 수정, 일부만 갱신
DELETE - 서버의 데이터 삭제
  • 경로 - 없는 경우는 서버에서 index.html이라는 파일을 자동으로 보내도록 설정한 것.

http://www.google.com/

서버의 응답

  • 시작 라인 - HTTP 버전, 응답 메시지
HTTP/1.1 200 OK

요청에 대한 응답 메시지

상태 코드 의미

1xx 정보
2xx 성공
3xx 리다이렉션
4xx 클라이언트 오류
5xx 서버 오류

헤더

  • 호스트 - 서버의 도메인 이름, 포트 번호
  • 연결 - 현재 작업이 끝난 후에도 네트워크를 연결 상태로 둘지 여부
  • 언어 - 서버가 응답에 사용할 언어

바디

  • 데이터가 포함됨.

 

DNS 서버

  • 네트워크에서는 IP 주소와 MAC 주소로 통신

⇒ 상대방의 IP 주소를 알고 있어야 함.

  • 그건 어려움. ⇒ 도메인 이름을 사용함.
  • IP 주소를 도메인 주소로 변경해주는 것 - DNS(Domain Name System) 서버
		1. 사용자가 www.google.com입력
		2. 사용자의 요청이 DNS 서버로 전달됨. google에 해당하는 IP 주소를 전달.
		3. 사용자는 전달 받은 IP 주소를 이용하여 웹 사이트에 접속.
		4. 웹 서버는 사용자의 요청에 응답함. 
  • DNS 서버가 www.google.com의 IP 주소를 모를 땐?

⇒ 또 다른 DNS 서버에 질의해서 IP 주소를 전달받음.

 

DHCP 서버

  • Dynamic Host Configuration Protocol
  • 사용자들에게 IP 주소를 할당하거나 회수하는 것을 자동으로 해주는 서버
1. 사용자 컴퓨터는 DHCP 서버를 찾음.
2. DHCP 서버는 사용자에게 IP 주소 할당 여부를 물음.
3. 사용자가 IP 주소가 필요하다고 요청함.
4. DHCP 서버가 IP 주소를 할당해줌.

 

SMTP(Simple Mail Transfer Protocol)와 POP3(Post Office Protocol Version 3) 프로토콜

  • 이메일을 주고받을 때 사용하는 프로토콜
  • 송신자가 보낼 때 사용 - SMTP
  • 수신자가 받을 때 사용 - POP3

 

응용 계층의 로드 밸런서

  • 응용 계층에서의 로드 밸런서는 전송 계층의 로드 밸런서 기능까지 포함
  • IP 주소, 포트, URI, HTTP 헤더, 쿠키 등을 기준으로 부하 분산
  • 서비스별로 부하 분산시키는 게 가능

ex) 로그인만 전담하는 서버, 상품 검색/결제 처리 서버 분리해서 구성 후 각 서버에 맞는 사용자 접속 분산 처리 가능.