공든탑앱 열기

HTTP·HTTPS와 FTP·TFTP

네트워크관리사 2급 · 응용 계층 프로토콜 · 약 11분

쉽게 말하면

HTTP는 웹페이지를 주고받는 약속이에요. 브라우저가 "이 페이지 주세요"(GET) 하면 서버가 "여기 있어요"(200) 또는 "없어요"(404)로 답해요. 자물쇠가 달린 HTTPS는 그 대화를 암호화한 거예요. FTP는 파일을 올리고 내려받는 약속인데, 명령용 통로와 파일용 통로를 따로 써요.

시험용 정의

HTTP는 웹에서 요청·응답으로 문서를 주고받는 응용 계층 프로토콜이다(TCP 80). 상태를 기억하지 않는(stateless) 방식이라 쿠키·세션으로 사용자를 구분한다. HTTPS는 HTTP를 TLS(SSL)로 암호화한 것이다(TCP 443). FTP는 파일 전송 프로토콜로 제어 연결(21)과 데이터 연결(20 또는 임의 포트)을 따로 쓰고, TFTP는 인증 없이 UDP 69로 간단히 파일을 옮긴다.

비유로 이해하기

HTTP는 식당 주문이다. 메뉴를 달라(GET), 이 주문서를 접수해 달라(POST)고 하면 직원이 결과 번호(상태 코드)와 함께 가져온다. 한 번 주문이 끝나면 직원은 손님을 기억하지 않아, 번호표(쿠키)를 준다.

자세히

먼저 알아 둘 말

말뜻
URL자원의 주소. 프로토콜://호스트:포트/경로
메서드요청의 종류. GET, POST 등
stateless이전 요청을 기억하지 않는 성질
능동·수동 모드FTP에서 데이터 연결을 서버가 거느냐 클라이언트가 거느냐

HTTP 메서드와 상태 코드

구분내용
GET / POST자원 요청 / 데이터 제출(로그인·글쓰기)
PUT / DELETE자원 저장·수정 / 삭제
HEAD / OPTIONS헤더만 요청 / 가능한 메서드 확인
2xx성공 (200 OK)
3xx리다이렉션 (301 영구 이동, 302 임시 이동, 304 수정 안 됨)
4xx클라이언트 오류 (400 잘못된 요청, 401 인증 필요, 403 금지, 404 없음)
5xx서버 오류 (500 내부 오류, 503 서비스 불가)

FTP 능동·수동 모드

모드데이터 연결특징
능동(Active)서버가 자신의 20번 포트에서 클라이언트로 연결을 건다클라이언트 방화벽이 막으면 실패
수동(Passive)클라이언트가 서버가 알려 준 임의 포트로 연결을 건다방화벽·NAT 환경에서 잘 된다

FTP 관련 정리

  • FTP는 아이디·비밀번호와 데이터를 평문으로 보낸다. 안전하게는 SFTP(SSH 기반, 22)나 FTPS(TLS)
  • 익명 FTP: anonymous 계정으로 공개 파일 제공
  • TFTP: UDP 69, 인증·목록 기능 없음. 라우터 설정·이미지 백업, 네트워크 부팅에 쓴다
  • 전송 모드: ASCII(텍스트)와 Binary(그 외 파일)

기출에서 더 나온 것

말뜻
SFTPSSH 위에서 동작하는 안전한 파일 전송
HTTP/2SPDY를 바탕으로 한 TCP 기반 HTTP, 하나의 연결로 여러 요청을 동시에
HTTP/3 · QUICUDP 위에 만든 QUIC 프로토콜을 쓰는 HTTP. 연결 지연이 짧다
403 Forbidden요청은 이해했지만 접근 권한이 없어 거부

시험에 이렇게 나와요

확인 문제

Q1. 웹 서버가 "요청한 페이지를 찾을 수 없다"고 답할 때의 HTTP 상태 코드는?

  1. 200
  2. 301
  3. 404
  4. 500
정답 보기

3번 404

404 Not Found. 2xx 성공, 3xx 다른 곳으로 이동, 4xx 클라이언트 잘못, 5xx 서버 잘못.

Q2. FTP 수동(Passive) 모드에서 데이터 연결을 거는 쪽은?

  1. 클라이언트
  2. 라우터
  3. 서버
  4. DNS 서버
정답 보기

1번 클라이언트

클라이언트가 서버의 임의 포트로 연결한다.

Q3. 권한이 없어 접근이 거부될 때의 HTTP 상태 코드는?

  1. 200
  2. 301
  3. 403
  4. 503
정답 보기

3번 403

403 Forbidden이다. 200은 성공, 301은 영구 이동, 404는 찾을 수 없음, 503은 서비스 사용 불가다.

Q4. 인증 기능 없이 UDP로 간단히 파일을 전송하는 프로토콜은?

  1. HTTP
  2. TFTP
  3. SFTP
  4. FTP
정답 보기

2번 TFTP

TFTP다. UDP 69번을 쓰고 인증이 없다. FTP는 TCP 20·21번, SFTP는 SSH 위에서 암호화해 전송한다.

Q5. FTP가 쓰는 포트로 옳은 것은?

  1. UDP 69
  2. 제어 21, 데이터 20
  3. 제어 20, 데이터 21
  4. 제어·데이터 모두 80
정답 보기

2번 제어 21, 데이터 20

명령은 21, 데이터는 20(능동 모드). UDP 69는 TFTP.

Q6. HTTP/3에 대한 설명으로 옳은 것은?

  1. 포트 21을 쓴다
  2. TCP 위에서만 동작한다
  3. UDP 기반의 QUIC를 쓴다
  4. 암호화를 지원하지 않는다
정답 보기

3번 UDP 기반의 QUIC를 쓴다

HTTP/3는 UDP 위에 만든 QUIC로 연결 지연을 줄인다.

헷갈리기 쉬운 O·X

HTTP는 이전 요청 상태를 기억하는 stateful 프로토콜이다.

정답 보기

X stateless. 쿠키·세션으로 보완한다.

FTP 제어 연결은 21번 포트를 쓴다.

정답 보기

O 데이터는 20번(능동) 또는 임의 포트(수동).

HTTPS는 HTTP를 TLS로 암호화한 것이다.

정답 보기

O 443번 포트.

함께 보면 좋은 개념