IT지식/Computer Science

애플리케이션 계층(HTTP, SSH, FTP, SMTP 등)에 대해 알아보자

맨땅에헤딩개발자 2025. 1. 7. 22:12

HTTP(Hyper Text Transfer Protocol)

 

서버와 클라이언트 간의 데이터를 주고 받기 위해 설계된 프로토콜입니다.

HTTP 통신은 클라이언트(Front-End)와 서버(Back-End)로 나뉘어져 있다.

클라이언트가 요청(Request)를 하면 서버가 응답(Response)를 하는 것이다.

홈페이지에서 회원 로그인을 하고 페이지를 옮겼는데 또 로그인을 하라는 페이지가 뜬다.

왜냐하면 서버는 클라이언트의 상태를 보존하고 있지 않아 그 클라이언트가 회원인지 모르기 때문이다.

따라서 무상태 환경에서는 회원 정보를 서버가 아닌 클라이언트가 토큰 형태로 들고 있으면서,

서버와 통신할 때 실어보내는 형식이다.

이러한 무상태 환경은 클라이언트가 상태 정보를 갖고 있기 때문에 아무 서버나 호출해도 되서

서버의 스케일아웃(수평확장)에 유리하다. 다만, 상태유지(Stateful)보다 데이터를 많이 사용하는 단점이 있다.

 

 

 

FTP(File Transfer Protocol)

 

노드와 노드 간 파일을 주고 받을 때 사용되는 프로토콜입니다.

지금은 파일을 암호화해서 전송하는 FTPS 또는 SFTP로 대체되고 있습니다.

 

 

 

SMTP(Simple Mail Transfer Protocol)

 

인터넷을 통해 메일을 보낼 때 사용되는 프로토콜입니다.
보통 서비스를 운영하면 메일링 서비스를 하게 되는데 node.js를 통해 메일을 보낸다면 이를 통해 보내야합니다.

 

 

SSH(Secure Shell)

 

참고 - https://steady-snb.tistory.com/27

 

SSH(Secure Shell)이란?

SSH(Secure Shell) 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜입니다. * Shell : 명령어와 프로그램을 사용할 때 쓰는 인터페이스를 말합니다. 좀 더 자세히 표현하자면 커널과 사용자간의

steady-snb.tistory.com