サーバースクリプトとブラウザスクリプトについて
サーバー スクリプトとブラウザ スクリプトについて
Web 関連の知識は初めてです。非常に難しい質問だと思います。お気軽に教えてください。
JavaScriptなどのブラウザスクリプトはブラウザが解釈して実行すると思います。サーバー スクリプトは、PHP などのサーバーによって実行されます。
W3C の PHP チュートリアルでも次のように述べられています。
したがって、私の理解では、ブラウザがHTMLページを生成するためにphpが使用され、ページが生成され、このページがブラウザに渡されてphpタスクが完了します。つまり、php はここで終了します。
しかし、PHP は Cookie を操作できます。Cookie はブラウザにあるものではないでしょうか?
私は考えられる状況を分析しました。php によって生成されたページでは、これを操作するために javascript または類似したものが使用されています。でもよくわからないのでアドバイスをお願いします。
-----解決策---------
基本的にはその理解で間違いありません。 PHP のクライアント Cookie の読み取りおよび書き込み機能に関しては、これは http ヘッダーを通じて実現されます。
ブラウザで Web サイトにアクセスすると、実際には http リクエストが送信されます。リクエスト ヘッダーには、クライアントのマシンからの Cookie が含まれています。これは、マシン上の Cookie がサーバーに送信される方法です。サーバーは php スクリプトとして理解できます。 PHP スクリプトはリクエストを処理して HTML に解釈した後、HTTP で応答し、その応答は解釈された HTML と Cookie をクライアント マシンに返します。このようにして、php はマシン上の Cookie を読み書きできるようになります。
http のインタラクションにはさまざまなものがあります。以下は、Baidu を開いたときの http インタラクション プロセスです。リクエストとレスポンスが何とやり取りしているのかを確認できます。
リクエストヘッダー
----------------------------------
リクエストURL:http://www.baidu.com/
リクエストメソッド:GET
ステータスコード:200 OK
リクエストヘッダーソースビュー
Accept:text/html,application/xhtml xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset:GBK,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip、deflate、sdch
Accept-Language:zh-CN,zh;q=0.8
キャッシュ制御:max-age=0
接続:キープアライブ
クッキー:BAIDUID=9222A2A4BF6D80D713705CD25FE0390E:FG=1; bdshare_firstime=1357125911300; FBJCQAAAAAAAAAAouSSDzIfYFMW5qZWN0MTBuAAAAAAAAAAAAAAAAAAAAACAYIArMAAAALD275YqAAAA6p5DAAAAAAAxMC4zNi4xNOwU1FDsFNRQe; BDUT=4dim9222A2A4BF6D80D713705CD25FE0390E13b748d0bb81; =1358090765568;BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0;
応答ヘッダー
------------------------
キャッシュ制御:プライベート
接続:キープアライブ
コンテンツエンコーディング:gzip
コンテンツの長さ:8379
Content-Type:text/html;charset=utf-8
日付:Sat, 19 Jan 2013 21:55:43 GMT
有効期限:2013 年 1 月 19 日(土) 21:55:43 GMT
サーバー:BWS/1.0
セット-Cookie:H_PS_PSSID=1792_1421_1760_1788; ドメイン=.baidu.com
Vary:Accept-Encoding
-----解決策---------LZ はそれをよく理解しています。このフォーラムで「JavaScript を php 変数に割り当てる方法」を尋ねた多くの人々に比べれば一歩前進です (BS の意図はありません。私もこれを経験しました)。少なくとも、php 操作が終了したことはわかります
、または状況はまだ終わっていない。これは比較的高度なトピックであり、さらに研究する必要がある

当時は js をやっていたのですが、サーバー上でしかできないことがあるということに気づき、ネームサーバー側の JavaScript に出会い(この時期に上記のことを考えていました)、サポートがほとんどないことがわかりました。そして私は php を発見し、php の道を歩み始めました。
前述の http ヘッダーを理解することから始めることをお勧めします。以前は助けがなく、本を読むだけで理解するのは困難でした。しかし時代は変わり、今では多くのツール (および簡単なツール) でパケットをキャプチャできます。パケットをキャプチャするのは難しいことではありません。最初の頃は、これはハッカーだけが行うことだと思っていましたが、Firefox には Firebug プラグインをインストールする必要がありました (Chrome にはもっと簡単かもしれません)。
http プロセスは次のようなものです。接続は省略されています。ソケットや Web ページのキャプチャについて学習してから、データ送信部分についてのみ説明します。
1. URL へのアクセスなどのクライアント リクエスト: このときに送信されるデータは、URL だけではなく、メソッド (GET、POST...) URL、Web サイトのホストなどのリクエスト ヘッダー情報の集まりです。ポート、アクセスするソフトウェアとバージョン、送信方法(圧縮するかどうかなど)、言語など、およびデータの取得または投稿 - 2 回目のアクセスの場合は、詳細については上記の例と http プロトコルの RFC2616 を参照してください。以降、Cookie 情報を追加することもできます (これは基本的にブラウザ自体によって行われます)
2. サーバーは処理後にデータを返します。返されるのは Web ページ (またはファイル) だけではありません。その前に大量の戻りヘッダー情報があり、最初の行はステータス (ステータスは 1 つだけです)、200 は成功を意味し、404 は見つからないことを意味し、500 はサーバーの問題を意味します。その他のステータス番号については、プロトコルのドキュメントを参照してください。また、返されたデータ タイプやテキストなどの他のデータ タイプもあります。 /html はもちろん html; 有効期限、送信方法...上記 これらは基本的に Web サーバー (Apache など) によって自動的に行われますが、PHP を通じて変更することもできます。 Cookie はこのヘッダーに読み込まれます。PHP のヘッダー機能は、プログラミングを容易にするためにセッションと Cookie を分離するだけです。リターンヘッダーが完了すると、Web ページ自体、画像自体などの「正式な」送信コンテンツが完成します。
これらを理解すると、ヘッダー関数の使用や他の処理に役立ちます。たとえば、PHP が描画後の出力前にヘッダー関数を送信する必要がある理由、セッションをプログラムの先頭に配置する必要がある理由、PHP が XML を出力する方法などを理解することができます。ブラウザにページをキャッシュさせるかキャッシュさせない方法...etc
JavaScript も Cookie を送信できますが、これは PHP が Cookie を送信することとは関係ありませんが、それらはすべて Cookie であるため、JavaScript によって送信されたものは次のリクエストで PHP によって読み取られる可能性があります。これは、PHP によって書き込まれたすべての Cookie というトピックにつながります。他のソフトウェアやプログラム、サーバー コンピューターでも読むことができます。後で他のトピックについて議論するときに検討しましょう。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
