Just a quick note about setting custom header in the HTTP request that Backbone.js manages. This is super easy to do. In the example code below, I have a Backbone.Collection assigned to messagesCollection variable and I'm triggering a fetch on that collection:
messagesCollection.fetch({
headers: {
'x-my-custom-header-1':'foobar',
'x-my-rest-api-version':'1.0'
}
});