FTP는 파일을 서버와 클라이언트 간에 전송하는 프로토콜이다.
FTP는 제어 연결(Control Connection)과 데이터 연결(Data Connection)을 사용한다.
1. 클라이언트가 FTP 서버에 연결 (포트 21, 제어 연결 생성)
2. 로그인 인증 (ID, 비밀번호 입력)
3. 파일 목록 요청 및 전송 방식 선택 (활성 모드/수동 모드)
4. 파일 업로드/다운로드 (포트 20, 데이터 연결 생성)
5. 전송 완료 후 연결 종료
FTP는 두 개의 연결(제어 + 데이터)을 사용하여 파일을 전송함
| 모드 | 설명 |
|---|---|
| Active Mode (활성 모드) | 서버가 클라이언트에 직접 데이터 전송 (방화벽 문제 발생 가능) |
| Passive Mode (수동 모드) | 클라이언트가 서버에서 데이터 전송을 요청 (방화벽 우회 가능) |
Passive Mode가 방화벽 문제를 해결하기 위해 더 많이 사용됨
| 비교 항목 | FTP | HTTP |
|---|---|---|
| 목적 | 파일 전송 | 웹 페이지 및 데이터 전송 |
| 포트 번호 | 21 (제어), 20 (데이터) | 80 (HTTP), 443 (HTTPS) |
| 연결 방식 | 제어 + 데이터 연결 (2개) | 단일 연결 |
| 인증 필요 여부 | O (ID/PW) | X (일반적으로 필요 없음) |