Theory: The idea is to create a file-server server that supports uploading/downloading files over Hyper Text Transfer Protocol (HTTP).
This can either be done using simple standalone software or complex Apache/Nginx configurations.
With regards to security and scalability for all entries below, stunnel or Squid can be used to proxy connections to the HTTP server software (or any other service actually) to handle TLS termination externally. Stunnel can be combined with the EFF's Certbot and the Let's Encrypt CA to support authentication as well.
Further reading:
To aid in network availability, Cloudflare can provide distributed internet-based caching, or, for local-only systems, Squid could be configured to support caching.
So here are some of the available options: