While HTTP dominates the modern web, other specialized application layer protocols are responsible for crucial Internet services, specifically email communication and bulk file transfers.
SMTP is the absolute standard protocol used for sending electronic mail (email) across the Internet.
It is important to understand that SMTP is a push protocol. It is only used to send emails from a client to a server, or to relay emails between different servers across the globe. You cannot use SMTP to pull (download) an email from a server into your inbox.
bob@yahoo.com, and hit Send. Your mail client uses SMTP (typically over TCP Port 587 or 465) to push the message to Google's Mail Transfer Agent (MTA).yahoo.com. It then establishes an SMTP connection directly to Yahoo's server and pushes the email there.SMTP is a text-based protocol. A typical conversation looks like this:
HELO gmail.com (Identifying the sender)MAIL FROM: <alice@gmail.com>RCPT TO: <bob@yahoo.com>DATA (Begins the actual email body and subject headers)QUIT (Ends the connection)Before HTTP was capable of handling large file downloads reliably, FTP was the standard mechanism for transferring files between a client and a server on a computer network.
Unlike HTTP, which uses a single TCP connection for both commands and data, FTP is unique because it uses two separate TCP connections simultaneously:
USER, PASS, LIST, RETR) and receiving text responses. This connection remains open for the entire duration of the session.Security Warning: Like standard HTTP, traditional FTP sends everything—including your username and password—in plain text. It is highly insecure. Modern systems use SFTP (SSH File Transfer Protocol), which runs entirely over a secure, encrypted SSH tunnel.