Forums / Developer / Last-Modified Dates and/or E-tags

Last-Modified Dates and/or E-tags

Author Message

Alex Jones

Monday 05 January 2004 9:20:08 am

This has been brought up in the past, but I thought I would post again to see if anyone else has addressed the issue or at the least begun thinking about it.

It would be really helpful to both the developers and the users of their sites if we had a safe way to establish a last-modified date, or an e-tag to pages generated by the system. Either of these options would allow developers to set up their site to cache pages on the user's machine, or a cache-server to speed up the site's response.

[Last-Modified]
The problem we have run into when using Last-Modified dates is the fact that the only date that can be pulled is that of the page's content modification which isn't changed when an item that is fetched has changed. So, if you change an item in the site's navigation, all of the pages that had not been modified recently would break.

[E-Tags]
E-Tags look like a promising alternative for us as they provide the ability to simply compare byte-count between two pages. I have not had a chance to extensively test these out, but I hope e-tags will allow us to avoid the problems stated above under Last-Modified.

Has anyone else worked with either of these methods? If so, I would appreciate hearing about your experiences!

Alex

Alex
[ bald_technologist on the IRC channel (irc.freenode.net): #eZpublish ]

<i>When in doubt, clear the cache.</i>

eZ debug

Timing: Jan 19 2025 01:22:32
Script start
Timing: Jan 19 2025 01:22:32
Module start 'content'
Timing: Jan 19 2025 01:22:32
Module end 'content'
Timing: Jan 19 2025 01:22:32
Script end

Main resources:

Total runtime0.3879 sec
Peak memory usage2,048.0000 KB
Database Queries141

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0066 590.3906180.8281
Module start 'content' 0.00660.0042 771.218893.8828
Module end 'content' 0.01080.3770 865.1016523.2969
Script end 0.3878  1,388.3984 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00340.8713200.0002
Check MTime0.00130.3462200.0001
Mysql Total
Database connection0.00060.161910.0006
Mysqli_queries0.337487.00081410.0024
Looping result0.00200.51651390.0000
Template Total0.376797.110.3767
Template load0.00080.198510.0008
Template processing0.375996.917110.3759
Override
Cache load0.00060.141810.0006
Sytem overhead
Fetch class attribute can translate value0.00080.200310.0008
XML
Image XML parsing0.00020.054710.0002
General
dbfile0.00220.5649200.0001
String conversion0.00000.001330.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs