Você está pedindo muito, mas estou de bom humor, então aqui vai:
-
O IIS é um servidor HTTP e FTP que acompanha todas as edições do Servidor do Windows e pode ser instalado em pelo menos as edições "não domésticas" do Windows.
-
O FileZilla Server apenas faz FTP, mas suporta várias variações seguras de FTP.
-
O Apache só faz HTTP, e é muito grande no mundo Linux - também pode ser executado no Windows.
Veja a diferença entre HTTP e FTP em poucas palavras:
-
O FTP suporta nativamente o upload e o download "fora da caixa". Você pode usar um cliente especial como o Filezilla Client para fazer coisas com um servidor FTP, mas o Windows tem suporte para FTP através do Windows Explorer, se não com algumas idiossincrasias. Então, usando o FTP, você poderia acessar seus arquivos de qualquer máquina Windows sem usar qualquer software. Mas, o Windows não suporta FTP seguro - qualquer um que esteja bisbilhotando pode dizer que uma rede Wi-Fi em que você está conectado pode ler sua senha e quaisquer dados transmitidos. O Filezilla Client suporta FTP seguro e existem versões portáveis.
-
Não vou entrar nos detalhes / histórico de baixo nível do HTTP, mas para simplificar, ele não tem recursos de upload como o FTP, a menos que você instale um aplicativo da Web no HTTP servidor que suporta isso. Você também precisa instalar uma camada que suporte aplicativos da Web com seu servidor HTTP, como PHP, Ruby, etc. (o IIS vem com .ASP e você pode instalar outros) Com esse aplicativo, você pode navegar, baixar e fazer upload de arquivos por meio de navegador da web. O HTTP também tem as mesmas implicações de segurança que o FTP e, para usar HTTPS (HTTP seguro), você precisa criar certificados. Soa complicado? Isto é. O FTP é muito mais simples de configurar.
Para resumir: o HTTP pode funcionar em um navegador da web, mas é mais difícil de configurar. O FTP precisa de um aplicativo separado, a menos que você queira lutar com o suporte FTP limitado do Windows e é mais fácil de configurar.
Os servidores funcionam ouvindo em uma porta. Alguma porta no seu roteador deve ser "encaminhada" para um endereço IP e uma porta em uma máquina na sua rede. Como você precisa redirecionar para um IP específico, o computador no qual você está executando um servidor deve ter um IP fixo ou estático, em vez de extrair um do servidor DHCP do roteador.
Você também precisa abordar o fato de que seu ISP provavelmente não fornece um IP fixo. Portanto, a menos que você anote seu IP público fornecido pelo ISP toda vez que sair, você precisará de algum tipo de serviço DNS. Existem provedores de "DNS dinâmico" gratuitos que lhe fornecerão um nome de DNS acessível externamente - o serviço rastreia seu IP com um aplicativo que você instala no servidor. DynDNS.org e No-IP.org são dois provedores bem conhecidos deste serviço.