XMLHttpRequest
JavaScriptを使用して、データ転送ができるブラウザレベルのAPI
XHRが登場する以前は、server-client間で状態の更新をするためには、pageをreloadする必要があった
XHRの登場によって、
非同期に行えるようになり、
また、JSで制御できるようになった
ブラウザをサンドボックス化することで、セキュリティ制約やポリシーを、アプリケーションコードに強制できるようになった
そのため、通常のHTTP Requestでは付与できるようなHeaderの一部は、XHRからは使用できない
参考