Make a feed available
After you’re successfully able to generate your feed, the next step is to make it available over the internet. That way Tweakwise can access and import it. This guide will provide you with a general idea on how you to achieve this and what to look out for.
Tweakwise supports retrieving your feed over:
- HTTP
- FTP.
Both the protocols will get the job done of serving your feed.
Which one fits your the best highly depends on your specific situation: from how the feed is generated to your existing IT infrastructure. It is therefore best in this case to discuss this with your implementation partner and settle on a solution together.
No matter which of the protocols you'll end up using, you should always end up with an URL at which your feed can be accessed. This URL will later be used in the Import a feed guide when configuring your instance to import the feed.
The main downside of the FTP protocol is that it doesn't support encryption. There are secure variants of the protocol like SFTP and FTPS, but Tweakwise doesn't support these. So if you decide to host your feed over FTP, be aware that there are therefore no encryption options available. That means anyone who can intercept your internet traffic will be able to read the feed. This doesn't necessarily have to be an issue if your feed doesn't contain sensitive data, but it should be a consideration.
Implementation notes
This chapter is aimed towards people with a technical background that are setting up the infrastructure to make the feed available. Feel free to skip this chapter if that is not you.
Although setting up either an HTTP or FTP server is out of the scope of this guide, we would like to provide some notes when the feed is going to be served over HTTP. This to help you get the implementation right. Due to the simplicity of the FTP protocol, we do not have such notes for FTP.
Supported TLS versions
TLS (Transport Layer Security) is a protocol used to establish a secure connection between HTTP clients and web servers. Your web server needs to support a version of TLS that Tweakwise’s HTTP client also supports.
Although technically our HTTP client supports TLS versions 1.0, 1.1 and 1.2, all versions below 1.2 are considered insecure and should not be used anymore. At this moment we do not support TLS 1.3 and that won’t be the case for the foreseeable future. So if you are setting up a web server, make sure it supports TLS 1.2.
If you’re not sure which version(s) of TLS your web server supports, you can test which TLS versions are available by running a SSL test from Qualys on it.
Importing the feed will fail if Tweakwise is unable to establish a secure connection due to there being a mismatch in the supported TLS versions. You will get an error message saying something along the lines of “Could not create SSL/TLS secure channel”. The TLS version your webserver supports is likely to be the culprit in this case.
Caching
If possible, we recommend you disable caching entirely on the URL the feed is made available from. That way you’ll never run into issues where caching can be a problem.
If you are unable to do this for whatever reason, then you should make sure that the web server complies with our HTTP client's request for caching to be disabled. When the feed is requested from a web server, we send Pragma: no-cache
and Cache-Control: no-store, no-cache, max-age=0
as part of the headers.
It might be tempting to assume that with the default configuration, a web server will comply with this request. Experience has proven this not to be true and we therefore recommend you do a check to see if this is actually the case.
Compression
Tweakwise’s HTTP client supports gzip compression. This reduces the amount of bandwidth used and generally speeds up downloading the feed. Supporting this feature on your side is by no means a requirement, but it can be nice to have.
When Tweakwise downloads your feed, we will send you the Accept-Encoding: gzip
in the headers. Your web server should then respond with Content-Encoding: gzip
and compress the body of the response.
Updated 6 months ago