HTTP header
headerについてまとめる
リクエストヘッダーとレスポンスヘッダーがある
勘所
- ホスト名はHTTPヘッダーには含まれないため、IPアドレスから逆引きして取得する
ホスト名はHTTPヘッダーには含まれないため、IPアドレスから逆引きして取得する。
Node.jsのdns.lookupServiceメソッドを使用してDNSサーバに問い合わせを行う。
import {lookupService} from "dns";
const getHostName = (ipAddress: string): Promise<string> => {
return new Promise(function(resolve, reject) {
lookupService(ipAddress, 22, function (error, hostname, service) {
if (error) {
return reject(error);
}
resolve(hostname);
});
});
};
const hostName = await getHostName(ipAddress);
dns.lookupServiceメソッドは、問い合わせ成功時にコールバック関数を介してホスト名を返却する。 任意の変数などに初期化するには、Promiseオブジェクトでラップして返却させる。
リクエスト
csp
クロスサイト・スクリプティング攻撃やその他のクロスサイト・インジェクションを防止するためにContent-Security-Policyヘッダーを設定します。
X-Powered-By
いくつかのWebアプリケーションフレームワークで、自身の名称やバージョン番号を記述するために使っているHTTPヘッダー
※セキュリティのため削除するのが好ましい。
XMLHttpRequest.withCredentials
サイト間の Access-Control
リクエストがCookie・認証ヘッダー・TLSクライアント証明書などの資格情報を使用して行うべきかどうかを示す。
異なるドメインからの XMLHttpRequest
のレスポンスは、リクエストを行う前にwithCredentialsをtrueに設定しない限り、自身のドメインのCookie値を設定できません。
レスポンス
Strict-Transport-Security レスポンスヘッダー
WebサイトがブラウザにHTTPの代わりにHTTPSを用いて通信を行うように指示するためのもの。