If-Modified-Since and CFML Part II
Now that you know how handle HTTP requests with the If-Modified-Since header in ColdFusion, lets take a look at how you might write a HTTP client using CFHTTP that sends If-Modified-Since headers:
<cfset lastCheckDate = GetHttpTimeString(DateAdd("d", -7, Now()))> <cfhttp url="https://www.petefreitag.com/rss/" method="get" > <cfhttpparam type="header" name="If-Modified-Since" value="#lastCheckDate#"> </cfhttp> <cfif cfhttp.responseheader.status_code EQ 304> <h1>Content HAS NOT Changed since <cfoutput>#lastCheckDate#</cfoutput></h1> <cfelseif cfhttp.responseheader.status_code EQ 200> <h1>Content has changed since <cfoutput>#lastCheckDate#</cfoutput></h1> </cfif> <cfdump var="#cfhttp#">
I just use the cfhttpparam tag to send the If-Modified-Since value. Again you need to format your date with GetHttpTimeString()
The date I supplied in this example is one week ago. You can remove the DateAdd, and just use Now() to check and see if the file has been modified.
Some servers may reject a date that is greater than their server time, so keep that in mind when testing.
- If-Modified-Since and CFML Part III - February 22, 2005
- Supporting If-Modified-Since HTTP header in CFML - February 18, 2005
- 8 Ways to Save Bandwidth on your RSS Feed - July 12, 2007
- Parsing RSS 1.0 with ColdFusion MX - April 8, 2004
- RSS and XPath - April 8, 2004
- Docker Container exited with code 137
- Why is my cron.daily script not running?
- Announcing FuseGuard Version 3
- CFSummit 2017
- Java Unlimited Strength Crypto Policy for Java 9 or 1.8.0_151
- Java 9 Security Enhancements
- Upcoming CFML Conferences in April 2017
- CFSummit 2016 Slides