beanz Magazine

FTP

Richard PJ Lambert on Flickr

FTP is a mysterious yet extremely useful way to send data across computer networks. Here's a short overview with links.

To begin, FTP is short for File Transfer Protocol. The internet is made up of many protocols which are simply rules everyone agrees upon. Rules make it easy for computers to talk with each other across a network of computers connected to each other. Imagine if 10 people in a room spoke a different language. It would be hard to get anything done. But if all 10 people spoke Hungarian, or agreed to speak Hungarian, they could work together. Internet protocols work the same way.

What is FTP?

The file transfer protocol governs how data is sent over networks. FTP is a set of commands you can type into a command line interface tool like iTerm or use as you drag and drop files from your local computer to a remote computer with a more familiar software tool like Filezilla.

The most common use of FTP is to upload and download files used to build and maintain websites. When someone says, “I use FTP,” often they mean they use software that sends file transfer protocol commands between two computers connected to each other on a network. The FTP commands allow the person to manage files on their computer and the remote computer. The software they use is not FTP. The software is simply a tool, a way to send and receive FTP commands.

How Does FTP Work?

When you meet someone for the first time, what do you say? Most people say “hello.” The file transfer protocol does the same thing. It’s called a handshake. One computer says hello to another computer which acknowledges the hello and says hello back. Each of the two connected computers agree to speak the same language made up of commands defined as the file transfer protocol.

Once two computers use FTP to say hello, agree to speak the same file transfer protocol language of commands, and connect, the rest of the session is a set of commands which result in actions. You could request a file or folder be copied to your local computer. Or send files to the remote computer.

When the session is done, your local computer and the remote computer say goodbye and disconnect.

How do you use FTP?

Once connected, what you type into a command line interface tool or do with software like Filezilla, determines which commands are sent, how they are received by the other computer, and what happens next. If you type get my-file.txt on your computer, the get command is sent to the remote computer which will look up the file name my-file.txt and send it to your local computer.

The same command is sent to the remote computer if you use software like Filezilla to drag the file my-file.txt from the list of files on the remote computer to the list of folders and files on your computer. You simply don’t see the get command sent, nor any responses. Instead, you see your file transferred to your local computer.

You can turn on a window pane in the FTP software to see commands as they are sent and received. However, the commands move so fast you often have to scroll up to see how computers interact with file transfer protocol commands.

Here’s an odd secret: you can use many web browsers to make FTP connections from your computer to other computers on a network. It’s slower, and definitely feels odd, but it works. You type the ftp address in the URL bar of your web browser, for example, ftp.somesite.com, and the browser handles all the connection details.

Learn More

FTP

http://www.webmonkey.com/2010/02/ftp_for_beginners/
http://en.wikipedia.org/wiki/File_Transfer_Protocol
http://windows.microsoft.com/en-us/windows-vista/file-transfer-protocol-ftp-frequently-asked-questions
https://kb.iu.edu/d/aerg

FTP Client Software

http://www.siteground.com/tutorials/ftp/
http://en.wikipedia.org/wiki/Comparison_of_FTP_client_software

FTP Commands

http://en.wikipedia.org/wiki/List_of_FTP_commands
http://linux.about.com/od/commands/l/blcmdl1_ftp.htm
http://www.computerhope.com/issues/ch001246.htm
https://kb.iu.edu/d/aenq

Filezilla

https://filezilla-project.org/

Where to Find Command Line Interface Software

https://www.kidscodecs.com/where-to-find-command-line-interface-software/

Also In The November 2014 Issue

Find Summer Tech Camps

It's that time of year: time to start thinking of summer tech camps for 2015. Here are a few ideas where to begin looking.

Rachel Manning Talks Software Development and the Freelance Life

Rachel Manning talks about her life as a freelance software developer building websites and web applications from her home in Mammoth Lakes, California.

Holiday Toy Ideas

Here are lots of ideas for computer science and programming toys kids might like, based on different age groups.

Create a Website with Wix

Wix.com is a free online tool you can use to create a website. Here's a basic tutorial to get started, as well as files to build a test site.

Chris Bradfield Talks Coding, Games, and Helping Kids Code

Chris talks about his journey from TRS-80 computers to websites to the game business to teaching kids to code in summer camp.

Control Flow

How do programming languages control the flow or processing of instructions? Here's how control flows work in several languages.

Destinations and Systems

Designers of products, content, and software use the concepts of destinations and systems to create content and apps for all our devices.

If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.

November 2014 Learn More Links

Links from the bottom of all the November 2014 articles, collected in one place for you to print, share, or bookmark.

November 2014 News Wire

Interesting stories about computer science, software programming, and technology for October 2014.

FTP

FTP is a mysterious yet extremely useful way to send data across computer networks. Here's a short overview with links.

Coding Books for Kids

No Starch Press sent along four books for kids. If you don't have them already, look them up at the library or buy online or in a bookstore.