LiftIgniterは、デフォルトでWebサイトが採用しているプロトコルを使用します。WebサイトがHTTPを使っている場合は、LiftIgniterもHTTPを使ってcdn.petametrics.com、api.petametrics.comとquery.petametrics.comに通信します。WebサイトがHTTPSを使っている場合は、LiftIgniterはHTTPSを使います。
WebサイトがHTTPSを使っていなくても、強制的にHTTPSを使うことで、LiftIgniterとの通信のセキュリティを向上させることができます。ここではその方法を説明します。
HTTPSを使ってJavascriptを読み込む
HTTPSを使ってJavascriptを読み込む場合は、スニペットの'//cdn.petametrics.com'の部分を'https://cdn.petametrics.com'に置き換えてください。
APIエンドポイントとクエリエンドポイントへのHTTPS通信
それぞれのエンドポイントへの通信にHTTPSを使いたい場合は、HTTPSのエンドポイントに向けたconfigで初期化を行ってください。
Javascriptの読み込みと、APIエンドポイントとクエリエンドポイントへの通信にHTTPSを強制的に使う場合の、Javascriptスニペットのサンプルは下記のとおりです。
<script type="text/javascript">
// クライアントコードのアップデートを実行する
(function(w,d,s,p,v,e,r) {w['$igniter_var']=v;w[v]=w[v]||function(){(w[v].q=w[v].q||[]).push(
arguments)};w[v].l=1*new Date();e=d.createElement(s),r=d.getElementsByTagName(s)[0];e.async=1;
e.src=p+'?ts='+(+new Date()/3600000|0);
r.parentNode.insertBefore(e,r)})(window,document,'script','https://cdn.petametrics.com/{JAVASCRIPT_KEY}.js','$p');
// JAVASCRIPT_KEYをcdn urlに置き換える
var customConfig = {
config : {
sdk : {
queryServer: "https://query.petametrics.com"
},
activity : {
activityServer: "https://query.petametrics.com"
},
inventory : {
inventoryServer: "https://query.petametrics.com"
}
}
}
$p("init", {JAVASCRIPT_KEY}, customConfig); // REPLACE JAVASCRIPT_KEY
$p("send", "pageview");
</script>
HTTPSによるパフォーマンスへの影響
HTTPSを使うことで、通信回数が増えることになるため、ユーザ側の遅延時間が若干増えます。これまでの経験では、HTTPSへの変更を行うことで、遅延時間が数百ミリ秒増え、クライアントのタイムアウトを50%(一回で0.5%から0.75%)増えました。正確な数値は、地理的位置と、デバイスの種類、ネットワーク接続の品質、ユーザの過去のセッションの数(セッショントーケンがキャッシュされるため、セッション回数が多いユーザのほうがタイムアウトが発生する可能性が低くなります)によって変動します。
HTTPSを使ったLiftIgniter Labへの通信
LiftIgniter Labは、HTTPとHTTPS両方の通信でアクセスすることができます。非暗号化のHTTP通信は、近い将来停止するため、その接続はHTTPS通信にリダイレクトされます。それまでは、ブラウザにhttps://lab.liftigniter.comを入力してHTTPSを使ってアクセスしてください。