■アクセスの回数によって分岐させる時に使う「session-start」使用時の注意

■session-startの記述の仕方

<?php session_start();header('Expires: -1');header('Cache-Control:');header('Pragma:'); ?>
Expires:-1 ※極力ブラウザにキャッシュさせるが、更新されているかの確認も行う
Cache-Control: ※無指定にしてPHPデフォルトのno-cacheを打ち消して、Expires:-1を優先に。
Pragma: ※無指定にしてPHPデフォルトのno-cacheを打ち消して、Expire:-1を優先に。

アクセスの回数によって分岐を作る時、session_start();をhtmlの一番上に設置する。

その際に、Cache-Controlなどのヘッダ情報が勝手に書き変わってしまう現象が起きる。

ヘッダ情報が書き変わってしまうと、chromeのlighthouseで警告を受けるため、その対処としてsession_start();に上記の記述を追加してヘッダ情報を再度出力させると警告は消える。

上記のような記述が一番無難みたいだけど、ブラウザキャッシュの無効化を無効化すると、SESSIONの最新情報が反映されていないブラウザキャッシュをブラウザが表示してしまい、うまく分岐ができない時があるので注意。

ブラウザキャッシュに関する警告で、ブラウザキャッシュがなくても最速を維持できるのでchromeのlighthouseの警告は無視して、ファーストビューに力をいれるのがベスト。

記述はsession_start();のみにしてる。

Menu