Historical data compression
Our servers use the Accept-Encoding
HTTP header to determine whether to compress historical data sent to the
client application. The default and recommended compression algorithm
is gzip.
We strongly suggest using the compression in your applications in order
to increase performance and reduce download times. You can enable it by
sending the correct Accept-Encoding HTTP header and then processing the
received data appropriately. We have included the source
code examples of the correct procedure in C# and VB.NET programming
languages. There is also an open-source
application you can use to see how to automatically decompress incoming
data.
Client Side
Here is a typical set of headers sent by Firefox:
Host |
api.kibot.com
|
User-Agent |
Mozilla/5.0
(Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0
|
Accept |
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
|
Accept-Language |
en-us,en;q=0.5
|
Accept-Encoding |
gzip,
deflate
|
Accept-Charset |
ISO-8859-1,utf-8;q=0.7,*;q=0.7
|
Connection |
keep-alive
|
Cookie |
|
Cache-Control |
max-age=0
|
Server Side
When such request is sent, the server uses the Accept-Encoding
header to see which compression methods are supported by the client. If
a compatible method is found, the data is compressed before it is sent
to the client. The client then decompresses the data locally.
Here is the typical response sent by the server:
Connection |
Keep-Alive
|
Date |
Tue,
30 Aug 2011 18:21:46 GMT
|
Content-Type |
text/plain
|
Server |
Microsoft-IIS/7.5
|
Cache-Control |
private
|
X-AspNet-Version |
4.0.30319
|
X-Powered-By |
ASP.NET
|
Content-Encoding |
gzip
|
Vary |
Accept-Encoding
|
Transfer-Encoding |
chunked
|
The client reads the Content-Encoding header and is able to recognize
that the data is compressed using the gzip compression algorithm. Click
here to see the example of how the request/response operations are
processed in C# and VB.NET programming languages.
Historical Data API - Table of Contents