I’ve been working on the HTTP headers my site sends recently.  I had been working on performance / cache related headers, but after seeing mention of a security header scanner built by Scott Helme, I decided to spend a little time implementing security related headers on my site.  I don’t really know these headers that well, so I added the headers it suggested and mostly went with the recommended values. I did read up a bit on what they mean though and modified the Content-Security-Policy as I saw fit.
I added most of the headers using a Symfony reponse event listener.  This handles all of my HTML responses without sending the headers for other responses, where they aren’t necessary.  The exception is the X-Content-Type-Options, which should be set for all responses.  I set that in Apache configuration.