質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Cookie

HTTPにおけるCookieとは、クライアントのウェブブラウザ上に保存された一時的なデータを指します。クライアント側のJavaScriptでも、サーバー側のHTTPヘッダーでもクッキーの読み書き・修正・削除が可能です。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

3960閲覧

入力フォームの情報をCookieで保存する場合、バックエンドとフロントエンドどちらで設定するのがいいか

annderber

総合スコア98

Cookie

HTTPにおけるCookieとは、クライアントのウェブブラウザ上に保存された一時的なデータを指します。クライアント側のJavaScriptでも、サーバー側のHTTPヘッダーでもクッキーの読み書き・修正・削除が可能です。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2018/10/25 08:26

編集2018/10/25 08:58

お世話になります。

質問は表題の通りですが、
例えば検索フォームの入力情報をCookieで保存したい場合、
バックエンド、フロントエンドどちらでも設定できますが、
これはどちらで設定するのが設定するのが便利でしょうか。

自分はJavascirpt側で保存した方が取り回しがいい気がしています。
バックエンド(例:PHP)で行うとPOSTされた時の判定処理が煩雑になるような気がします。
ただ、Cookieの設定は必ずしもクライアント側から送られてくるデータだけを保存するわけではなく、
バックエンド側で処理された結果を保存する場合もあり、フロント側、バックエンド側両方でCookie保存処理を書いてしまうことになり。コードが散らばってしまうと言う問題もあると考えています。

皆さんのご意見をお聞かせください。
それぞれのメリット、デメリットをいただけれるとありがたいです。

追記
今回の質問はセッションを使用せずにCookieのみで処理を行いたいと勧化手います。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

バックエンド(例:PHP)で行うとPOSTされた時の判定処理が煩雑になる
かどうかは実装しだいかと思います。

もしjavascriptが得意で、なるべくサーバー側はシンプルな実装にしたいのであれば
フロント側に処理をよせるのもありだと思います。

バックエンド側で処理された結果を保存する場合でも
フロント側へのレスポンスに結果を入れて返してあげれば
フロント側で保存できます。
検索条件を保存しておいて、いつページを開いても条件がセットされた状態にしたいとかで
cookieにセットする程度あればこれでも十分かと。
localStorageに保存して使うほうが今どきっぽいですが、
保存期間とか使用先をドメインで制限したりとかcookieはcookieなりの便利さがあると思います。

逆にフロントをシンプルにするのであれば、サーバ側に寄せるのもよいと思います。
有名どころのフレームワークであればcookieの取扱いも割と簡潔に扱えるので。

投稿2018/10/25 09:47

miyasaka

総合スコア271

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

annderber

2018/11/06 05:37

遅くなってしまいましたが、コメントありがとうございます。 参考になりました。ありがとうございます。
guest

0

検索フォームの入力情報をCookieで保存したい場合

  • フロントエンド…localStorageを使う
  • バックエンド…セッションに入れる

という発想になるので、「直接Cookieで保存したい」ということ自体がまずありません。

投稿2018/10/25 08:28

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

annderber

2018/10/25 08:56

コメントありがとうございます。 確かにそうですよね。 質問の説明が抜けていました。今回はセッションを使わない場合でどのようにするかという質問になります。質問にも追記します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問