ホームページ  >  記事  >  バックエンド開発  >  セッションが無効であるという誤った命題。

セッションが無効であるという誤った命題。

巴扎黑
巴扎黑オリジナル
2016-12-19 11:22:531171ブラウズ

最近問題が発生しました。ajax リクエストは既存のセッションを呼び出し、そのセッションに基づいて何らかの処理を実行します。セッションが有効になる場合と、有効にならない場合があることがわかりました。

セッションはdbに保存されるため、異なるサーバーへのアクセスによるセッション不整合の問題は発生しません。
このページは varnish を使用しています。最初は、varnish がページをキャッシュしているため、リクエストが php に対して実行されず、http キャッシュが使用されているのだと思いました。ワニスをきれいにした後も、まだこの問題が残っています。

リクエストされたページを再度クリーンアップしたところ、ページのヘッダー内の簡略化されたリンクと従来のリンクで HTML サフィックスが使用されていることがわかりました。これにより、HTML がキャッシュされ、このヘッダー内のリンクをクリックして生成されたページが実際には生成されない可能性があります。セッション。当然のことながら、このキャッシュされたページの ajax を取得するセッションはありません。

わかりました。解決策は次のとおりです:
1 セッション パラメーターを ajax に取り込み、すべてのリクエストに取り込みます。これにより、処理のためにセッションに依存する必要がなくなります。
2 htmlをphpに変更します。ただし、ワニスやその他のキャッシュ技術を使用すると、上記の問題が発生する可能性があります。したがって、セッションに依存せずに最初の方法を使用するのが最善です。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。