IT 개발 기초: 인프라, 서버, 그리고 파일 전송(FTP)의 핵심 개념 이해하기

인프라와 서버의 기본 개념
웹사이트를 운영하거나 애플리케이션을 개발할 때 가장 먼저 마주하는 개념이 바로 인프라와 서버입니다. 서버(Server)는 웹사이트나 데이터를 안전하게 저장하고, 요청이 들어올 때 이를 서비스하는 고성능 컴퓨터를 의미합니다. 개인이 가진 컴퓨터와 달리 24시간 내내 켜져 있어야 하며 안정적인 네트워크 환경이 필수적입니다.
하지만 직접 서버 장비를 구축하고 관리하는 것은 비용과 기술적인 측면에서 큰 부담이 됩니다. 이를 해결하기 위해 등장한 것이 바로 호스팅(Hosting) 서비스입니다. 호스팅은 서버의 공간이나 자원을 전문 업체로부터 임대하여 사용하는 방식으로, 소규모 프로젝트나 웹사이트를 운영할 때 매우 유용하게 활용됩니다.
FTP의 정의와 연결 과정
서버를 임대해 사용하다 보면 내 컴퓨터에 있는 파일을 서버로 업로드하거나, 반대로 서버의 파일을 다운로드해야 하는 일이 빈번하게 발생합니다. 이때 사용되는 통신 규약이 바로 FTP(File Transfer Protocol)입니다.
FTP는 효율적인 통신을 위해 연결 과정을 두 가지로 분리하여 처리합니다. 제어 커넥션(Control Connection)은 TCP 포트 21번을 사용하여 명령어와 응답을 교환하는 역할을 맡고, 데이터 커넥션(Data Connection)은 실제로 대용량 파일이 전송되는 통로 역할을 담당합니다.
전송 모드와 인증 및 세션
FTP로 파일을 주고받을 때 데이터 연결을 맺는 방식에 따라 액티브 모드와 패시브 모드로 나뉩니다. 액티브 모드(Active Mode)는 클라이언트가 포트를 열고 서버가 그곳으로 접속하는 방식(포트 20번 활용)이며, 패시브 모드(Passive Mode)는 반대로 서버가 포트를 열고 클라이언트가 접속하는 방식으로 방화벽을 우회하는 데 유리합니다.
- 사용자 인증: USER 및 PASS 명령어를 통해 사용자의 ID와 비밀번호를 확인합니다.
- 상태ful 프로토콜: 현재 작업 디렉토리 등의 세션 상태를 유지하며 동작합니다.
댓글
아직 댓글이 없습니다.
AI트렌드 & 개발자 이야기