Jump to content
Ketarin forum

Error code 304 returned (Not Modified)


Martin Zugec
 Share

Recommended Posts

Hi,

 

I have noticed this issue today with Ketarin - it doesn't trap remote server error 304.

 

304 should mean that the requested resource haven't changed (message for Ketarin - update not required), but in this case Ketarin will report it as an error.

 

I've seen this with TeamViewer (static URL http://www.teamviewer.com/download/TeamViewer_Setup.exe)

 

Thanks,

Martin

Link to comment
Share on other sites

Hi, Martin,

 

A server status code of 304 isn't an "error", it's an HTTP status response code. In this case, it's intended to help reduce the amount of bandwidth wasted downloading files that haven't changed. I tested with a couple of my profiles where I can access the server logs and it doesn't look like Ketarin is actually sending an ETag or If-Modified-Since header. That means that it simply can't receive a 304 response.

 

Anyway...I'm not seeing this behavior. Can you share the profile you're using?

Link to comment
Share on other sites

Hi Shawn,

 

yes, I know that 304 is not an error, that's why I mention it as a bug (that Ketarin handles 304 as an error, while it's not an error). If Ketarin doesn't send IMS or ETag, than it's very strange behavior.

 

<?xml version='1.0' encoding='utf-8'?>

<Jobs>

<ApplicationJob xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Guid="fc22d59f-87f8-48b6-b233-19905c6fa8de">

<WebsiteUrl />

<UserAgent />

<UserNotes />

<LastFileSize>4147624</LastFileSize>

<LastFileDate>2011-08-23T09:26:44.8217993</LastFileDate>

<IgnoreFileInformation>false</IgnoreFileInformation>

<DownloadBeta>Default</DownloadBeta>

<DownloadDate xsi:nil="true" />

<CheckForUpdatesOnly>false</CheckForUpdatesOnly>

<VariableChangeIndicator />

<CanBeShared>true</CanBeShared>

<ShareApplication>false</ShareApplication>

<ExclusiveDownload>false</ExclusiveDownload>

<HttpReferer />

<SetupInstructions />

<Variables />

<ExecuteCommand />

<ExecutePreCommand />

<ExecuteCommandType>Batch</ExecuteCommandType>

<ExecutePreCommandType>Batch</ExecutePreCommandType>

<Category />

<SourceType>FixedUrl</SourceType>

<PreviousLocation>C:\Data\Tools\TeamViewer\TeamViewer_Setup.exe</PreviousLocation>

<DeletePreviousFile>false</DeletePreviousFile>

<Enabled>true</Enabled>

<FileHippoId />

<LastUpdated>2011-08-23T09:26:44.8217993</LastUpdated>

<TargetPath>{Tools}\TeamViewer\</TargetPath>

<FixedDownloadUrl>http://www.teamviewer.com/download/TeamViewer_Setup.exe</FixedDownloadUrl>

<Name>TeamViewer</Name>

</ApplicationJob>

</Jobs>

 

Thanks,

Martin

Link to comment
Share on other sites

This is pretty much what I used to test - a generic download URL to a consistent file.

 

Ketarin is NOT sending the ETag or If-Modified-Since headers, so it's NOT receiving a 3xx response, but a 200 with the Content-Length and Last-Modified values that enable Ketarin to check it's db and discontinue the download if it's the same as what's coming down the wire.

 

Simplest terms: while storing and sending the ETag or IMS would definitely be "best behavior", Ketarin is not doing that (see Updater.cs @ DoDownload), so it's not getting a 3xx response.

Link to comment
Share on other sites

Hmmmm, strange thing - I wanted to grab a screenshot, so I've just tried it again and now it works (I've been trying it for last 3 days).

 

But it was definitely 304 (Not Modified) and not a 200 (I've copied&pasted the "Not Modified" status message and haven't seen 304 before, so I was interested in it) - if it will happen again, I will post a screenshot here.

 

Martin

Link to comment
Share on other sites

  • 3 weeks later...
Ketarin is NOT sending the ETag or If-Modified-Since headers, so it's NOT receiving a 3xx response, but a 200 with the Content-Length and Last-Modified values that enable Ketarin to check it's db and discontinue the download if it's the same as what's coming down the wire.

 

Yep. A 304 should be considered as error for now, as in this case Ketarin doesn't get access to the desired content and download would fail if the file is not yet present.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.