Reduce server load caused by anonymous viewing. (#9059)
Do not start a session if the current user is not logged in for public-facing pages. Mark pages that don't care about sessions as publicly cacheable. Keep the max age as 0 so proxies and browsers will still try to retrieve an updated version but can still fall back to the stale version if the site is down or too slow. Fixes #9035.
This commit is contained in:
		@@ -151,6 +151,11 @@ class ApplicationController < ActionController::Base
 | 
			
		||||
    response.headers['Vary'] = 'Accept'
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def mark_cacheable!
 | 
			
		||||
    skip_session!
 | 
			
		||||
    expires_in 0, public: true
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def skip_session!
 | 
			
		||||
    request.session_options[:skip] = true
 | 
			
		||||
  end
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user