[Dillo-dev] Cached pages

1 view
Skip to first unread message

Nick Warne

unread,
Apr 3, 2016, 3:33:24 PM4/3/16
to dill...@dillo.org
Hi all,

I first used 'dillo' many years go on a 486 running Mandrake Linux
around 2004. Since then, forgot all about it. Until now - it is brilliant.

Anyway, to the point. I run my own web server, and while debugging CGI
perl scripts etc. dillo somehow caches the results from the output produced.

Usually shift+[refresh] drops the cache and gets the new page, but the
only way I get get dillo to do this is exit, and restart (no big deal
with a 0.02 second start-up time :) )

Ideas?

Thanks,

Nick
--
Gosh that takes me back... or is it forward? That's the trouble with
time travel, you never can tell."
-- Doctor Who "Androids of Tara"

_______________________________________________
Dillo-dev mailing list
Dill...@dillo.org
http://lists.dillo.org/cgi-bin/mailman/listinfo/dillo-dev

Jorge Arellano Cid

unread,
Apr 4, 2016, 8:03:55 AM4/4/16
to dill...@dillo.org
Hi Nick,

On Sun, Apr 03, 2016 at 08:31:14PM +0100, Nick Warne wrote:
> Hi all,
>
> I first used 'dillo' many years go on a 486 running Mandrake Linux around
> 2004. Since then, forgot all about it. Until now - it is brilliant.

Good to hear you like it, thanks.

>
> Anyway, to the point. I run my own web server, and while debugging CGI perl
> scripts etc. dillo somehow caches the results from the output produced.
>
> Usually shift+[refresh] drops the cache and gets the new page, but the only
> way I get get dillo to do this is exit, and restart (no big deal with a 0.02
> second start-up time :) )
>
> Ideas?

Strange, I just tested this trivial cgi script and a simple reload
does the trick (button press or Ctrl-r). Does it work for you?

--
Cheers
Jorge.-

--

#!/bin/sh
#
# Simple bash CGI script.
# Return current time and date
#
#

# HTTP doc type (2 newlines needed).
echo "Content-type: text/html"
echo

# HTML content
echo "
<html><body>
<PRE>
`/bin/date`
</PRE>
</body></html>

Nick Warne

unread,
Apr 4, 2016, 12:19:08 PM4/4/16
to dill...@dillo.org
Hi Jorge,

On 04/04/16 13:00, Jorge Arellano Cid wrote:
>> Usually shift+[refresh] drops the cache and gets the new page, but the only
>> way I get get dillo to do this is exit, and restart (no big deal with a 0.02
>> second start-up time :) )
>>
>> Ideas?
>
> Strange, I just tested this trivial cgi script and a simple reload
> does the trick (button press or Ctrl-r). Does it work for you?

OK, basically on the html page with the form you enter some
letters/words... hit submit (or 'process' in my case) and the perl CGI
produces the results and the time taken.

Now, if if you use the same words on the index page, dillo doesn't run
the CGI, but produces the previous cached page - sure, a reload works,
but that doesn't seem logical.

Firefox doesn't do this, it runs the CGI each time, which is what I
would expect on something that produces dynamic content.

The page is here is you want to have a look:

https://linicks.net/AnAdIc/

Nick
P.S. ssl/TLS works well on my site!

--
Gosh that takes me back... or is it forward? That's the trouble with
time travel, you never can tell."
-- Doctor Who "Androids of Tara"

John Found

unread,
Apr 4, 2016, 1:11:40 PM4/4/16
to dill...@dillo.org
I am not sure its the same problem, but I have problems with the CSS files.
When some page loads CSS files and I press "Refresh" (or Ctrl+R), Dillo reloads
only the content, but not the linked CSS files. This way, when I try to design
some page to be compatible with Dillo, I have to restart it on every test.

Other browsers sometimes have the same problem, but they have a way to refresh
with cache clearing - Ctrl+F5 in Firefox. Dillo seems to not have such mode.
--
http://fresh.flatassembler.net
http://asm32.info
John Found <john...@asm32.info>

Jorge Arellano Cid

unread,
Apr 11, 2016, 11:05:54 AM4/11/16
to dill...@dillo.org
On Mon, Apr 04, 2016 at 08:09:22PM +0300, John Found wrote:
> I am not sure its the same problem, but I have problems with the CSS files.
> When some page loads CSS files and I press "Refresh" (or Ctrl+R), Dillo reloads
> only the content, but not the linked CSS files. This way, when I try to design
> some page to be compatible with Dillo, I have to restart it on every test.
>
> Other browsers sometimes have the same problem, but they have a way to refresh
> with cache clearing - Ctrl+F5 in Firefox. Dillo seems to not have such mode.

Yes dillo does not have such mode yet. It would be useful to have it though.


--
Cheers
Jorge.-

Jorge Arellano Cid

unread,
Apr 11, 2016, 11:27:14 AM4/11/16
to dill...@dillo.org
On Mon, Apr 04, 2016 at 05:16:54PM +0100, Nick Warne wrote:
> Hi Jorge,
>
> On 04/04/16 13:00, Jorge Arellano Cid wrote:
> >>Usually shift+[refresh] drops the cache and gets the new page, but the only
> >>way I get get dillo to do this is exit, and restart (no big deal with a 0.02
> >>second start-up time :) )
> >>
> >>Ideas?
> >
> > Strange, I just tested this trivial cgi script and a simple reload
> >does the trick (button press or Ctrl-r). Does it work for you?
>
> OK, basically on the html page with the form you enter some letters/words...
> hit submit (or 'process' in my case) and the perl CGI produces the results
> and the time taken.
>
> Now, if if you use the same words on the index page, dillo doesn't run the
> CGI, but produces the previous cached page - sure, a reload works, but that
> doesn't seem logical.

Logic depends upon the considered facts.


> Firefox doesn't do this, it runs the CGI each time, which is what I would
> expect on something that produces dynamic content.

Cache policy is not trivial (e.g. check idempotency in HTTP).

For instance, if you decide to try to reload whenever it may
seem useful, you start having problems when users go offline
(i.e. intermitent internet connections). BTW, that's how we got
"offline mode"; Good&Simple right? Hmmm, no. Unfortunately it was
nearly impossible to teach the proverbial grandma when to go
offline and when online. Power users started to complain they
were not able to go back and forward fast on already visited
pages, and that pages dissappeared. Why, the browser issued a
reload every time, cleaning the cache, and guess what, websites
used the opportunity to refresh advertisement.

At some point there were cache directives served in HTTP, but
they got abused by advertising again (i.e. always reload means
more money). And some sites decided to serve their pages with
always reload directives, even some decided to issue automatic
reloads after a certain a mount of time (more clicks/visits on
the stats, more money for payed advertisingt, etc...).

One of the reasons why people love to have many open tabs is
that since the reload mess inception (and some other stuff as
custom navigation), it became hard to tell whether you'll be able
to see the same page again by going back and forward. So tabs are
a solution to the new problem.

As you may see from this short sample, a cache policy must
consider lots of cases.


--
Cheers
Jorge.-

Nick Warne

unread,
Apr 11, 2016, 1:03:33 PM4/11/16
to dill...@dillo.org
Hi Jorge,
First, I wasn't complaining, just curious (as 10CC sang, I don't like
Dillo, I love it!) - and as I was debuggng a perl script, in normal use
this wouldn't be an issue as the same input will always produce the same
output, so a cached page is always correct.

Many thanks for a very detailed explanation of the way this issue got
into a mess - I am sure you are the best person to steer Dillo away from it.

Regards,

Nick

--
Gosh that takes me back... or is it forward? That's the trouble with
time travel, you never can tell."
-- Doctor Who "Androids of Tara"

Reply all
Reply to author
Forward
0 new messages