응용 계층

SIHA·2026년 1월 14일

CS복습_NW

목록 보기
2/6

응용 계층

애플리케이션이 동작하는 계층
역할: 클라이언트의 요청을 전달하기 위해 통신 대상(서버 등)이 이해할 수 있는 메시지(데이터)로 변환하고 전송 계층으로 전달
클라이언트 측 애플리케이션(웹 브라우저, 메일 프로그램 등)이 서버 측 애플리케이션(웹 서버 프로그램, 메일 서버 프로그램 등)과 통신하려면 응용 계층의 프로토콜을 사용해야 함

대표적 프로토콜

  • HTTP/HTTPS
    웹 브라우징에서 웹 서버와 클라이언트 간 데이터를 주고받음
    HTTPS는 보안을 위해 TLS를 추가함

  • DNS
    사용자가 입력한 도메인 이름(예: www.example.com)을 해당하는 IP주소로 변환
    네트워크 통신의 시작점

  • FTP
    파일 업로드 및 다운로드에 사용
    예: 대용량 파일 전송, 서버 파일 관리

  • SMTP, POP3
    이메일 시스템의 핵심 프로토콜
    SMTP: 이메일 송신 / POP3: 이메일 수신

HTTP (HyperText Transfer Protocol)

클라이언트와 서버 간에 웹 페이지와 리소스(이미지, 동영상 등)를 주고받기 위한 프로토콜

주요 특징

  • 비연결 지향 (Stateless)
    HTTP는 요청과 응답이 끝나면 연결을 끊음
    매 요청마다 새로운 연결을 생성하므로, 상태를 유지하지 않음
    상태를 위해 쿠키, 세션, 토큰 등을 활용
  • 텍스트 기반 프로토콜
    사람이 읽을 수 있는 형식으로 요청과 응답을 처리
    예: GET /index.html HTTP/1.1
  • 요청-응답 방식
    클라이언트가 요청(Request)를 보내면, 서버가 응답(Respose)를 반환
  • 리소스 중심
    HTTP는 웹 서버의 리소스(URL)에 접근하기 위한 프로토콜
    클라이언트는 서버에 리소스를 요청하고, 서버는 해당 리소스를 반환

메시지 구조

HTTP 요청

: 요청줄, 헤더, 본문으로 구성

  • 요청줄: 메서드, 요청 대상(URL), 프로토콜 버전
  • 헤더: 오청 관련 부가 정보
  • 본문: 전송할 실제 데이터 (POST, PUT 등에서 사용)

HTTP 응답

: 상태줄, 헤더, 본문으로 구성
상태줄: 프로토콜 버전, 상태 코드, 상태 메시지
본문: 서버가 클라이언트에 전달하는 실제 데이터

HTTP 메서드

  • GET: 리소스 조회
  • POST: 리소스 생성
  • PUT: 전체 수정
  • PATCH: 일부 수정
  • DELETE: 리소스 삭제

HTTP 상태 코드

서버가 요청을 처리한 결과를 숫자로 표현한 코드

  • 1xx: 정보 (요청 진행 중)
  • 2xx: 성공 (200 OK, 201 Created 등)
  • 3xx: 리다이렉션 (301, 302, 304 등)
  • 4xx: 클라이언트 오류 (400 Bad Request, 404 Not Found 등)
  • 5xx: 서버 오류 (500 Internal Server Error 등)

버전별 특징

  • HTTP/1.0
    요청마다 새로운 연결을 생성 -> 비효율적
  • HTTP/1.1
    Keep-Alive로 연결 재사용 가능
    Host 헤더 필수
  • HTTP/2
    멀티 플렉싱 지원 -> 하나의 연결로 여러 요청 병렬 처리
    텍스트 대신 이진 프레임 구조
    헤더 압축으로 속도 개선
  • HTTP/3
    TCP대신 UDP 기반 QUIC 프로토콜 사용
    연결 지연 감소, 전송 속도 향상

DNS (Domain Name System)

도메인 이름을 IP주소로 변환하는 시스템
사용자가 기억하기 쉬운 도메인 이름(www.example.com)을 입력하면 이를 네트워크가 이해할 수 있는 IP 주소로 변환하여 통신이 가능하도록 함

동작 과정

  1. 사용자가 도메인 이름 입력
  2. 로컬 DNS 캐시 확인
    사용자의 컴퓨터가 최근 방문한 도메인의 IPP 주소를 캐시에 저장했는지 확인
  3. DNS 재귀 서버 (Resolver)
    캐시에 없는 경우, 인터넷 서비스 제공자 (ISP)의 DNS 서버로 요청이 전달됨
    DNS 계층적 조회
    요청순서: 루트 네임서버 > TLD 네임서버 > 권한 네임서버
  4. IP 주소 반환
    사용자의 컴퓨터로 IP 주소가 전달되고, 해당 주소로 연결
profile
뭐라도 해보자

0개의 댓글