Feature Request/Rant - Last-modified and Expires MIME

This WebDNA talk-list message is from

2000


It keeps the original formatting.
numero = 36233
interpreted = N
texte = I decided I was sick of not being able to View Source on my generated pages, so I coded up the following include file to send the proper MIME headers for Last-modified and Expires. It is so complex because all MIME date/time values must be sent as UTC (GMT). Since this is true, it is truly bizarre that the WebCat [date] function does not have a format, say %G, that outputs the correct string format automatically for the timezone the server is locate in (including Daylight Savings Time). I checked, and the Win32 libraries do include a function gmtime() that takes a time structure and returns it as UTC time.It would also be nice if [math date] understood that if I write: [math date&format=%a, %d %b %Y]{[date]}+{04:10:00}[/math] GMTI mean that it should take the current date and time, add 4 hours and 10 minutes and then format it as Thu, 17 Aug 2000 14:00:58 GMT for example. This would also have to include carry from the time to the date, so that when the time goes past midnight as a result of an addition, it would add to the day (possibly carrying to the month and year as well).Alternatively, there could be a system setting so that WebCatalog would always generate the appropriate MIME headers for Last-modified and Expires, with a system wide default Expires offset. Since we can override any MIME headers that WebCat would want to send with our own [SETMIMEHEADER], I don't see how this could be a problem for anyone. If anyone wanted to not use it at all, simply set the Expires offset=0.In any case, here is the source code to enable proper MIME headers for Last-modified and Expires to put in your Globals directory.Share and enjoy...John Peacock[!] ------- MIMEHeaders.inc ------- [/!] [!]4:00 is offset from UTC - replace with your offset[/!] [math time&show=f]GMT={[date %X]}+{04:00:00}[/math] [math time&show=f]NOW={[date %X]}[/math] [SETMIMEHEADER name=Last-modified&value= [date format=%a, %d] [if ([GMT]>[NOW])][!]if GMT before midnight[/!] [then] [date format=%b] [/then] [else][!]if GMT after midnight then increment date too[/!] [format days_to_date %b][math]{[date]}+{00/01/0000}[/math][/format] [/else] [/if] [date format=%Y] [Format Seconds_To_Time][GMT][/Format] GMT] [SETMIMEHEADER name=Expires&value= [date format=%a, %d] [if ([GMT]>[NOW])] [then] [date format=%b] [/then] [else] [format days_to_date %b][math]{[date]}+{00/01/0000}[/math][/format] [/else] [/if] [!]600 will give a 10 minute expiration[/!] [date format=%Y] [Format Seconds_To_Time][math][GMT]+600[/math][/Format] GMT]------------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list . To unsubscribe, E-mail to: To switch to the DIGEST mode, E-mail to Web Archive of this list is at: http://search.smithmicro.com/ Associated Messages, from the most recent to the oldest:

    
  1. Feature Request/Rant - Last-modified and Expires MIME (John Peacock 2000)
I decided I was sick of not being able to View Source on my generated pages, so I coded up the following include file to send the proper MIME headers for Last-modified and Expires. It is so complex because all MIME date/time values must be sent as UTC (GMT). Since this is true, it is truly bizarre that the WebCat [date] function does not have a format, say %G, that outputs the correct string format automatically for the timezone the server is locate in (including Daylight Savings Time). I checked, and the Win32 libraries do include a function gmtime() that takes a time structure and returns it as UTC time.It would also be nice if [math date] understood that if I write: [math date&format=%a, %d %b %Y]{[date]}+{04:10:00}[/math] GMTI mean that it should take the current date and time, add 4 hours and 10 minutes and then format it as Thu, 17 Aug 2000 14:00:58 GMT for example. This would also have to include carry from the time to the date, so that when the time goes past midnight as a result of an addition, it would add to the day (possibly carrying to the month and year as well).Alternatively, there could be a system setting so that WebCatalog would always generate the appropriate MIME headers for Last-modified and Expires, with a system wide default Expires offset. Since we can override any MIME headers that WebCat would want to send with our own [setmimeheader], I don't see how this could be a problem for anyone. If anyone wanted to not use it at all, simply set the Expires offset=0.In any case, here is the source code to enable proper MIME headers for Last-modified and Expires to put in your Globals directory.Share and enjoy...John Peacock[!] ------- MIMEHeaders.inc ------- [/!] [!]4:00 is offset from UTC - replace with your offset[/!] [math time&show=f]GMT={[date %X]}+{04:00:00}[/math] [math time&show=f]NOW={[date %X]}[/math] [SETMIMEHEADER name=Last-modified&value= [date format=%a, %d] [if ([GMT]>[NOW])][!]if GMT before midnight[/!] [then] [date format=%b] [/then] [else][!]if GMT after midnight then increment date too[/!] [format days_to_date %b][math]{[date]}+{00/01/0000}[/math][/format] [/else] [/if] [date format=%Y] [Format Seconds_To_Time][GMT][/Format] GMT] [SETMIMEHEADER name=Expires&value= [date format=%a, %d] [if ([GMT]>[NOW])] [then] [date format=%b] [/then] [else] [format days_to_date %b][math]{[date]}+{00/01/0000}[/math][/format] [/else] [/if] [!]600 will give a 10 minute expiration[/!] [date format=%Y] [Format Seconds_To_Time][math][GMT]+600[/math][/Format] GMT]------------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list . To unsubscribe, E-mail to: To switch to the DIGEST mode, E-mail to Web Archive of this list is at: http://search.smithmicro.com/ John Peacock

DOWNLOAD WEBDNA NOW!

Top Articles:

Talk List

The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...

Related Readings:

Date AND time (2001) WebCat2b13MacPlugIn - [include] (1997) getting images' width/height (1998) Grouping Fields in Context (1999) Quitting WebMerchant ? (1997) Quickie question on the email templates (1997) Error Lob.db records error message not name (1997) Need help with form (1998) .. more on sliding discounts... (1997) WebCat2.0 [format thousands .0f] no go (1997) capitalize each word? (2002) WebCatalog 4 Install Problems - Not Answered ?? (2000) multi-paragraph fields (1997) more Dreamweaver Extensions feedback (2000) WebCat2b14MacPlugIn - [include] doesn't hide the search string (1997) WebCat2 - [SendNews] (1997) lineitem variables (1999) emailer on Windows Beta 18 (1997) Restricting to one folder hierarchy on the entire server (2005) WebCat2b12 CGI Mac - [shownext] problem (1997)