Hacker News new | ask | show | jobs
by nexuist 1895 days ago
> FTP is clearly a protocol made for command-line comfort

GUIs did not exist when FTP was made. Frankly, the concept of user accounts didn't either, so the anonymous access hack was a product of its time and not an intentional design decision.

I am confused though, because FTP being a protocol means it is fairly standardized in terms of commands and expected output right? Are there FTP servers that spat out wildly different responses to typical commands? Because if so, SMTP/POP3 should suffer from the same thing, but I don't recall many email client developers complaining about it.

2 comments

FTP's directory listing command provides the output of 'ls'. Or 'dir', if on Windows. Or a bunch of other variations.

That's because it was made to be shown to a human using a commandline client, and wasn't intended to be parsed. As a result, a FTP client like Firefox needs to parse about a dozen possible versions, plus there's a standard for actual machine-readable listings that may still not be universally supported.

Anonymous access was typically announced in the welcome message, with something along the lines of "Login as user ftp, pass ftp for anonymous access". Again, made for humans reading that.

And besides that, it has annoying design quirks like that "download done" is just closing the socket.

My point is that FTP is a remarkably annoying protocol for something like Firefox to implement. It involves figuring out how to parse stuff that wasn't made to be parsed, guessing common anonymous account names and passwords, and dealing with ASCII/binary active/passive modes. The nature of a program like Firefox clashes with the protocol badly.

Proper GUI clients show all the messages the FTP server is producing because sometimes it's just a necessity. It's always possible that there will be something the client won't be able to deal with automatically.

If you were a user of FTP/SMTP/POP3 software in the 90s, you definitely saw a regular stream of developer/operator complaints. The last 20 years saw a lot of diversity loss in popular protocols (DIEDIEDIE!) and we now use a narrow subset of them.