Index: django/contrib/syndication/views.py
===================================================================
--- django/contrib/syndication/views.py	(revision 13459)
+++ django/contrib/syndication/views.py	(working copy)
@@ -7,6 +7,8 @@
 from django.utils import feedgenerator, tzinfo
 from django.utils.encoding import force_unicode, iri_to_uri, smart_unicode
 from django.utils.html import escape
+from django.utils.http import http_date
+import time
 
 def add_domain(domain, url):
     if not (url.startswith('http://')
@@ -33,6 +35,10 @@
             raise Http404('Feed object does not exist.')
         feedgen = self.get_feed(obj, request)
         response = HttpResponse(mimetype=feedgen.mime_type)
+        if getattr(self, "item_pubdate", False):
+            # if item_pubdate is defined by user, set header so
+            # ConditionalGetMiddleware is able to send 304 NOT MODIFIED
+            response['Last-Modified'] = http_date(time.mktime(feedgen.latest_post_date().timetuple())) 
         feedgen.write(response, 'utf-8')
         return response
 
