この記事では主に、一定の参考価値のある PHP 面接の質問の概要を紹介します。必要な友人は参考にしてください。
CSRF クロスサイト リクエスト フォージェリとは。 , 1. ユーザー C はブラウザを開き、信頼できる Web サイト A にアクセスし、ユーザー名とパスワードを入力して Web サイト A へのログインを要求します。
2. ユーザー情報が確認された後、Web サイト A は Cookie 情報を生成して返します。この時点で、ユーザーは Web サイト A に正常にログインした後、通常どおり Web サイト A にリクエストを送信できます。ユーザーが Web サイト A を終了する前に、同じブラウザーでタブ ページを開いて Web サイト B にアクセスします。 4. Web サイト B がユーザーのリクエストを受信した後、いくつかの攻撃的なコードを返し、サードパーティのサイト A にアクセスするリクエストを発行します。5. これらの攻撃的なコードを受信した後、ブラウザはリクエストに従って Cookie 情報を Web サイト B に送信します。ウェブサイト A がユーザーの知らないうちにウェブサイト B のリクエストを行います。ウェブサイト A は、リクエストが実際に B によって開始されたことを認識していないため、ユーザー C の Cookie 情報に基づいて C の権限でリクエストを処理し、ウェブサイト B からの悪意のあるコードが実行されますセッションとクッキーの違い:
1.COOKIE はクライアント側に存在します。 SESSIONはサーバー側に存在します。 2. COOKIE のデフォルトのストレージ サイズは、特定のニーズに応じて 20 を超えることはありません。3.SESSIONはデフォルトではファイルとして保存されます。デフォルトの生存時間は 24 分、初期ストレージ サイズは 1M で、理論的には無制限に変更できます。 php.iniを変更することで設定できます。
4.SESSIONはデフォルトではCOOKIEに基づいています。SESSIONが開かれると、session_idが生成され、COOKIEに保存されます。
5.SESSION COOKIE はすべてセッション コントロールです。 http はステートレスでコネクションレスであるためです。したがって、ユーザーを識別するにはセッション制御が必要です。
php スーパーグローバル変数:
$GLOBALS $_SERVER $_REQUEST $_POST $_GET
$_FILES $_ENV $_COOKIE $_SESSION
および MYSQL
begin トランザクションの開始 rollback トランザクションのロールバック
コミット トランザクションの確認 2. set を直接使用して mysql の自動コミット モードを変更する 4の主な機能トランザクション (Acid): アトミック性:
アフェアーズはデータベースの論理的な作業単位であり、データベースの変更はすべて実行されるか、すべて実行されません。
トランザクションの前後で、データベースの状態はすべての整合性制約を満たします。分離:
同時実行のトランザクションは分離されており、一方は他方には影響しません。同時に実行され、同じ機能を実行する 2 つのトランザクションがある場合、トランザクションを分離すると、システム内の各トランザクションは、そのトランザクションだけがシステムを使用していると認識されます。このプロパティはシリアル化と呼ばれることもあります。トランザクション操作間の混乱を避けるために、同じデータに対するリクエストが同時に 1 つだけになるように、リクエストをシリアル化または逆シリアル化する必要があります。 データベースの分離レベルを設定することで、さまざまな分離効果を実現できます。 耐久性: トランザクションの完了後、トランザクションによってデータベースに加えられた変更はデータベースに保持され、ロールバックされません。xss
予防方法:
XSS (CSS とも呼ばれる)、フルネーム CrossSiteScript、クロスサイト スクリプティング攻撃 予防: スクリプト インジェクション、エスケープ フィルター スクリプト タグ。union
とunionallの違い: Unionallは重複を削除しません
RBAC
ロールベースの権限制御: 5つのテーブル ユーザーテーブル、ロールテーブル、関数テーブルもあります相互接続されたテーブル: ユーザー、キャラクター、キャラクター、および機能テーブル
Redis
永続性:
メモリ スナップショット (RDB) RDB 永続性により、指定された時間間隔でデータ セットを生成できます ポイントインタイム スナップショット ログ(AOF) AOF は、サーバーによって実行されたすべての書き込み操作コマンドを永続的に記録し、サーバーの起動時にこれらのコマンドを再実行することによってデータ セットを復元します。
サブテーブル:
データベースの負担を軽減し、クエリ時間を短縮します。縦割り:縦割りは分野に応じた分野です
水平テーブル分割: 1 つ以上のデータ列の値に基づいて、データ行を 2 つの独立したテーブルに配置します。
水平テーブルシャーディングで挿入された ID が一意であることを確認するにはどうすればよいですか?
新しい ID サービスを作成し、ユーザーの ID をデータベースまたは Redis に保存できます。
jクエリセレクター:
1.要素 2.属性 3.id 4.クラス 5.グローバル。
インライン要素とブロック内要素
インライン: 、、
、、
インライン:
、< p>、
③ 幅は、コンテンツに関係なく、常にブラウザの幅と同じになります
④ インライン要素などを収容できます。ブロック要素。 Row、
①とその他の要素はすべて同じ行にあります。
②高さ、行の高さ、余白とパディング部分は変更できます。
③幅はコンテンツにのみ関係します
④インライン要素はテキストまたは他のインライン要素。
グループクエリ: Orderby
テーブル内の男性と女性の数は20〜30です:
と一緒に使用する オブジェクト オブジェクト リレーショナル マッピング (ORM) モードは、オブジェクト指向間の不一致を解決するテクノロジです。およびリレーショナル データベース
Linuxポートの表示: 選択したファイルのブラシ: プロセスの表示:
//現在の TCP ポートをすべて表示 ·使用する 使用する 使用する 使用する 使用する 使用する 使用する 2 tcp tcp ‐ tcp ポート ·
· コマンドの数: 履歴令 ファイル操作機能:
Open Open Files FSTAT ファイルの取得
File ファイル全体を配列に読み込みます バイナリ ファイル) file_get_contents() はファイル全体を文字列に読み取りますファイルを開く方法はいくつかあります:
ファイルの削除 クリップコマンド, カットの先頭では、開始点は 0
$ 長さで、D はカスタム クラス をインスタンス化できます。 Table
間隔:Table TR TD から JQ までのデュアル番号を認識し、対応するシングルに異なる CSS スタイルを与えます。インターレース色の変更効果を実現します。
マウスが通過すると、JQ は trtd 背景セットを個別に呼び出します。そのため、マウスが通過すると背景色が変わります。
同期および非同期: サーバー同期から返される結果を待ちます。真面目にそしてその後、他の操作を実行します
リクエストを非同期に送信した後、サーバーからの戻り結果を待ち、他の操作を直接実行します
デフォルトは: 非同期
Linuxすべてのファイルを表示:ls
Pを設定別の p: z-index 値が大きいほど、値が高くなります。
ob関数: ,,,, 。
「」 to ' s ' s ' s ' s ' s 1 ' s 1 ' s 1 ' s t--ob_clean();
スルースルーの'''''' スルースルーの''‐to''‐''''‐''''O'w'sのto be to be to be that to be so much?
スルー スルー スルー スルー スルー スルー スルー スルー スルー アウト アウト アウト アウト アウト アウト アウト アウト アウト アウトアウェイアウトアウェイアウトアウェイアウトアウェイアウトアイアウェイu b u b b b i-w i o-wr rw-))。 ob_get_contents() および ob_end_clean() を実行するのと同等です
ob_flush(); //内部バッファの内容をブラウザに送信し、バッファの内容を削除し、バッファを閉じません。
ob_end_flush();
through ' s を使用すると、 through ` through through through through through through through out through out through out through over over over''s to's'''' through through''s to's'''' through through-- - を使用できます。 ‐ob‐ob_get_fluish の be to be to be _get_flush(); ob_end_flush() と同等で、バッファの内容を返します。 ) Flush (); // OB_FLUSH によって解放されたコンテンツと、PHP バッファーにないコンテンツの出力全体が、内部バッファーのコンテンツを更新して出力されます。
' ' ' ' ' ' s は 1 に向かって スルースルースルースルースルースルースルーアウトオフオフアウトアウトアウトスルーアウトアウトアウトアウトライトアウトスルーアウトライトアウトソンスルーオーバーそうそうそうそうそうそうそうそうに、だから、そう、それ、それ、だから、そう、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、に、に、に、に、に、に、に、存在を投げる。
ob_get_length(); _ Ob_get_Leveel (); // theOUTPUT BUFFERING MeChanism.のnestingLevelを返します
OB_Get_Status (); // outputBuffersのステータスを取得します
3. ショッピングカートを実行する方法プロセス。 。
1. ショッピングカートに製品を追加します 1. まずページにリンクを追加します 1. まず製品 ID を取得します2. データベースから ID で製品をクエリします。 3. 製品をショッピング カートに追加します
a. セッションからショッピング カートを取得します。 ない場合は、新しいショッピング カートを作成します。 b. ショッピング カートに商品が存在するかどうかを確認します。 1. 存在する場合、数量は元の基準で 1 増加します。 c. ショッピング カートをセッションに再読み込みします。 問題: 私たちのショッピングは HashMap コレクションを使用しており、キーは一意であることを確認する唯一の方法は、hashCode メソッドと equals メソッドを使用することです したがって、これを使用するときは、hashCode メソッドと equals メソッドをオーバーラップする必要があります。 Product クラスの値を書き換えるときは、id 値を比較するだけで済みます。2. ショッピングカートのアイテムを表示します
ショッピングカートはセッション内に存在します。必要なのは、cart.jsp ページのセッションで Cartt マップを収集し、表示することだけです。 1. ショッピングカート内の商品を操作します 2. + または - 記号をクリックすると、ショッピングカート内の商品の数量を変更できます3. +または-ボタンをクリックすると、JavaScriptの関数が呼び出されます。この関数を通じて、サーバーにリクエストを送信し、サーバー側のセッションからショッピング カート内のデータを取得し、送信されたデータに基づいてショッピング カート内の指定された数のアイテムを変更してから、ショッピングカートページが表示されます。
先月の売上を得るにはどうすればよいですか? 3ヶ月? 1年くらいはどうですか?字 データベースを確認してください。300,000 件のデータを 3 秒以内に取得するにはどうすればよいですか?どのようなインデックスを作成するか?
通常のインデックス インデックスの種類:
通常のインデックス、一意のインデックス、主キーインデックス、複合インデックス
redisとmemecache 違いは次のとおりです。
1.保存方法:
memecacheすべてのデータはメモリに保存されるため、停電後はデータがメモリ サイズを超えることはできません。 Redis の一部はハードディスクに保存されるため、データの永続性が保証されます。
2. データ サポートの種類: Redis は memecache よりもはるかに多くのデータ サポートを備えています。 3. 基礎となるモデルが異なります:
一般的なシステムがシステム関数を呼び出す場合、移動とリクエストに一定の時間が無駄になるため、新しいバージョンの Redis は VM メカニズムを直接構築します。
4. さまざまなオペレーティング環境:
現在、redis は正式には LINUX のみをサポートしているため、他のシステムのサポートは省略されています。この方法では、後で Microsoft チームがそのパッチを作成しましたが、システム環境の最適化にエネルギーを費やすことができます。 。ただし、トランクには置かれません
SKU
方法:
属性の仕様。実際、SKU は商品テーブルの製品テーブル、商品テーブルの製品属性テーブルを含む商品リストの製品テーブルです
TP 設定ファイル: Common/Config.php
Phpスカラータイプ:ブール(ブール)整数(整数)float(フローティングポイント、ダブルとも呼ばれます)文字列2つの複合タイプ:
配列(配列)シングルトン モデルの「3 つのプライベートと 1 つのパブリック」です。 ": 保 保存クラスの一意のインスタンスを保存する必要があるプライベート静的メンバー変数が必要です。コンストラクターは、オブジェクトの意味を防ぐためにプライベートとして宣言する必要があります。外部プログラム。クローンされたは、このインスタンスにアクセスするためのパブリック静的メソッド (通常は getInstance という名前) を提供し、それによって一意のインスタンスへの参照を返す必要があります。 20〜30歳の男性と女性の数をクエリします
: //年齢が20〜30歳のテーブルからカウント(性別)を選択性別でグループ化年齢が20〜30歳のテーブル名からカウント(*)を選択Group byPHP
には3つのアクセス修飾子があります:
public (パブリック、デフォルト) protected (保護された) private (プライベート)アクセス修飾子のスコープ:
クラスのメンバーがパブリックアクセス修飾子として宣言されている場合、そのメンバーは外部コードからアクセスして操作できます。private (プライベート)
プライベートとして定義されたメンバーはクラス内のすべてのメンバーに表示され、アクセス制限はありません。クラス外からのアクセスは禁止です。protected (保護された)
protected は、保護されたメンバーとして宣言され、このクラスのサブクラスによるアクセスのみを許可します。
mysql intStorage:
bigint のストレージ サイズは 8 バイトです。
int の格納サイズは 4 バイトです。
smallint のストレージ サイズは 2 バイトです。
tinyint 0 ~ 255 の整数データ。記憶サイズは1バイトです。
cookieのスコープ:
ドメイン自体。ドメインの下のすべてのドメイン名。
Cookieの許可を設定することです。ドメインが空に設定されている場合、ドメインはデフォルトで現在のドメイン名になり、このドメイン名のサブドメインは Cookie を受信できます。
ただし、domain パラメーターがそのサブドメイン名に設定されている場合、そのサブドメイン名を含むすべてのドメイン名を受信することはできません。
linuxログファイルの内容を表示するコマンド
tail、cat、tac、head、echo
tail-f test.log
top メモリを表示
df-lh ディスクを表示
ps-aすべてのプロセス
定数を表示:
-変数を使用しましたか? 定数の値は固定値である必要があり、変数、クラス属性、数学演算や関数呼び出しの結果であってはなりません。 定数はインターフェースでも定義できます。 抽象クラスはインスタンス化できません。抽象クラスには静的メソッドを含めることができます。抽象クラスには抽象メソッドを含めることはできません。 通常のメソッドはクラスに保存され、コピーは 1 つだけ存在します。静的メソッドもクラスに保存され、コピーは 1 つだけ存在します。違いは次のとおりです。
通常のメソッドにはオブジェクトが必要です。つまり、通常のメソッドにはオブジェクトが必要であり、静的メソッドはどのオブジェクトにも属さないため、$this をバインドする必要はありません。静的メンバー: インスタンス化は必要ありません。アクセス、クラスの静的メンバー変数はこのクラスにのみ属します
クラス メンバー: 1 つはクラスで定義され、もう 1 つはコンストラクターで定義されます。 。メソッドと関数の違い:
関数は単独で存在し、メソッドはクラスに依存し、オブジェクトを通じてのみ呼び出すことができます。 クラスファイルで関数を定義できるかどうか: いいえ
値の転送と値の参照:
(1) 値渡し: 関数のスコープ内での値の変更は関数の外では無視されます。 (2) 参照渡し: 関数のスコープ内で値を変更すると、関数の外側でもこれらの変更が反映されます(3) メリットとデメリット:
A: 値渡しの場合, php は以下をコピーする必要があります。価値。特に大きな文字列やオブジェクトの場合、これはコストのかかる操作になる可能性があります。 参照渡しでは値をコピーする必要がないため、パフォーマンスの向上に非常に役立ちます。注文が繰り返し送信されるのを防ぎます:
1. JS を使用して、ボタンを 1 回クリックした後にボタンを無効にします。この方法を使用すると、複数回のクリックを防ぐことができます 2. セッション値を設定します。セッション値がない場合は、送信を許可しません。文字列関数:
strlen(); echo(); trim(); など,,,
違い:
HTTP1.0 では、ブラウザとサーバーは短期間の接続のみを維持します。ブラウザの各リクエストはサーバーとの TCP 接続を確立する必要があります。サーバーはリクエストの処理が完了すると、すぐに TCP 接続を切断します。 各顧客は追跡され、過去のリクエストが追跡されます。は記録されません。
HTTP1.1 は永続的な接続をサポートしており、複数の HTTP リクエストと応答を TCP 接続で送信できるため、接続の確立と終了の消費と遅延が軽減されます。
HTTP1.1 では、クライアントは前のリクエストの結果が返されるのを待たずに次のリクエストを行うこともできますが、サーバーはクライアントリクエストを受信した順序で応答結果を
に送り返す必要があります。クライアントが各リクエストの応答内容を区別できるようにすることで、ダウンロード プロセス全体に必要な時間を大幅に短縮できます。HTTP1.0 はホスト リクエスト ヘッダー フィールドをサポートしていません。
H TTP1.1でホストリクエストヘッダーフィールドが追加されました。
グローバル変数とローカル変数の違い:1. スコープの違い: グローバル変数のスコープはプログラム全体ですが、ローカル変数のスコープは現在の関数やループなどです。
2. 異なります。メモリ格納方法: グローバル変数はグローバル データ領域に格納され、ローカル変数はスタック領域に格納されます
3. 異なるライフタイム: グローバル変数のライフタイムはメイン プログラムのライフタイムと同じであり、メイン プログラムのライフタイムが終了すると破棄されます。プログラムが破棄されます。ローカル変数は関数内またはループ内にあり、プログラムが破棄されると破棄されます。関数終了やループ終了はありません
4. さまざまな使用方法: グローバル変数は、プログラムのすべての部分で使用できます。ただし、ローカル変数はローカルでのみ使用できます。関数内では、ローカル変数がグローバル変数よりも先に使用されます。注意すべき点は、ローカル変数に同じ名前のグローバル変数の値を割り当てることはできないということです。
フロントエンドの最適化:最初: コンテンツ指向の最適化 1. HTTP リクエストを削減します
2. DNS ルックアップを削減します
3. リダイレクトを回避します 4. Ajax キャッシュを使用します
5. コンポーネントの遅延読み込み
6. コンポーネントを事前にロードする
7. DOM 要素の数を減らす
8. コンポーネントを複数のドメインに分割する 9. iframe の数を最小限に抑える 10. http 404 エラーがないようにする
2 番目: サーバー用
1. Cookie を削減します
2. Web コンポーネントにドメイン名の独立性を使用します
キャッシュアバランチとは何ですか?キャッシュサーバーの再起動や、一定期間に大量のキャッシュが集中すると、バックエンドシステム(DBなど)にも大きな負荷がかかります。
それを回避するにはどうすればよいですか?
1: キャッシュの有効期限が切れたら、ロックまたはキューイングを通じてデータベースを読み取り、キャッシュに書き込むスレッドの数を制御します。たとえば、データのクエリと特定のキーのキャッシュの書き込みを許可されるのは 1 つのスレッドだけであり、他のスレッドは待機します。
2: キャッシュの有効期限をできるだけ均等にするために、キーごとに異なる有効期限を設定します。
3: 2次キャッシュを作成します。A1はオリジナルキャッシュ、A2はコピーキャッシュです。A1が失敗した場合、A2にアクセスできます。A1のキャッシュ有効期限は短期に設定され、A2は長期 (この点は補足です)
tpルーティングモード:
1. 通常モード 2. 書き換えモード 3. 互換モード
niginx ポート番号の設定方法:
で 2 つのサーバーが nginx.conf で設定されており、それらは異なるポート番号です。テーブルの 2 行目を取得します タグ: $(tr:eq(1))
変数変数とは:変数変数を使用すると、変数の名前を動的に変更できます。変数 。ある変数の値を別の変数の名前として使用します。
ポートが占有されているかどうかを確認します:権限を変更する 所有者を変更する ユーザーグループを変更する
netstat –apn chmod chown chgrp
プロセスを表示する Top pa aux|grep 全員に実行権限を追加します: ライブラリから 2 つのスレッドと 1 つの I/O スレッド、つまり SQL スレッドを生成します。ライブラリ i/ からバイナリログを渡します。 o スレッド; SQL スレッドはリレー ログ ファイル内のログを読み取り、それを特定の操作に解析して、一貫したマスター/スレーブ操作を実現します。最終的なデータは一貫しています。 マスター/スレーブ 必要なコマンドをコピーします。 : showmaster status; startsalve; *.* TOmysql_backup@'%' '123 によって識別されました456'; sql-bin.000001',master_log_pos = 3696; 問題を解決する主キーの競合 マスターテーブルを作成し、マスターテーブルからIDを配布します。 1. 2 台のマシンでそれぞれアカウントを承認します: レプリケーション スレーブ、ファイル、*.* を 'repl'@'10.17.%' で識別されたものに許可します。 xxxx' 2. 設定ファイル /etc/my.cnf に、メインライブラリ設定ファイルの使用に基づいて、次の設定項目を追加します (1) rr ポーリング (デフォルト) はリクエストの順序で各 RS に割り当てられます。これは、RS がダウンしている場合、デフォルトではポート 80 のみが検出されます。 RS が 402、403、503、504 エラーを報告すると、クライアントに直接エラーが返されます。 G (2) Weight (重み) RR と重み (デフォルトは RR+Weight) に基づいて、重みの重みは比例し、重みの値が大きいほどサーバーの不均一の問題を解決できます。パフォーマンスとリクエストの割り当て (3) ip_hash 動的Webページセッション共有の問題を解決します IPのハッシュ値が同じである限り、各アクセスリクエストはIPアドレスのハッシュ値に従って割り当てられます。 、同じサーバーに割り当てられます (lvs ロード バランシングの -p パラメーター、keepalived 構成のpersistence_timeout50)、このスケジューリング アルゴリズムは動的 Web セッション共有の問題を解決できますが、場合によってはリクエストの不均一な分散につながる可能性があります。ヒント: 国内で使用するため、すべて nat モードであるため、ip_hash は他のアルゴリズムでは使用できません。つまり、重み付けやバックアップは使用できません。バックエンドサーバーの応答時間に応じて設定します。このアルゴリズムは、nginx 自体が公平にサポートしていないページ サイズと読み込み時間に応じて、上記よりもインテリジェントに負荷分散を実行します。 nginx の upstrea_fair モジュールをダウンロードする必要があります (5) url_hash (サードパーティ) 主にキャッシュサーバーで使用されます アクセスされた URL に応じてリクエストを割り当て、同じ URL が同じサーバーに送られるようにします。バックエンド サーバーがキャッシュ サーバーである場合は、ハッシュ ステートメントをアップストリームに追加する必要があります。 hash_method は、使用されるハッシュ アルゴリズムです。 デメリット: マシンがダウンしている場合は困難になります。consistent_hash でこの問題を解決できます バックエンドキャッシュサーバーの効率を向上させることができます。nginx 自体は url_hash をサポートしていないため、ハッシュ ソフトウェアをダウンロードする必要があります (6) minimum_conn ラウンド ロビン バランシング: 重みラウンドロビンバランシング: ランダムバランシング: 重みランダムバランシング: 4 、ロードバランシングとリバースとの違いproxy リバースプロキシは負荷分散を実現する方法です。 負荷分散層が追加されたため、特定のソリューションを使用するだけでは依然として単一の問題点を考慮する必要があります。負荷分散を担当するサーバーが負荷に耐えられずダウンし、サービスが利用できなくなりました。したがって、Nginx と LVS は、プロキシ層サーバーの問題にタイムリーに対処するために、フェイルオーバーと障害アラームを有効にするために複数のプロキシを構成しようとします。 ELB は Amazon が提供するサービスであり、その実装には数百、場合によっては数千のマシンがあるため、プロキシ クラスターと考えてください。 セッション共有の実装方法: まず、サイトがマシン上に保存されていると仮定すると、セッションが存在するため、この問題は存在しません。データはこのマシン上で、負荷分散を使用してリクエストを別のマシンに分散するとどうなるでしょうか?この時点では、クライアントのセッション ID に問題はありませんが、ユーザーの 2 つのリクエストが 2 つの異なるマシンに送信され、そのセッション データがいずれかのマシンに存在すると仮定すると、セッションが切断される状況が発生します。データを取得できないため、セッション共有が問題になります 1. NFS ベースのセッション共有 2. データベースベースのセッション共有 3. Cookie ベースのセッション共有 4. キャッシュ (Memcache) ベースのセッション共有 5. セッションのコピー グローバル変数、ローカル変数。 zip、gzip、bzip2、tar Zcvf; 下 下 4.0 以下では、Varchar (20) は 20 バイトを指します。UTF8 の漢字を保存する場合、保存できるのは 16 (各漢字の 3 バイト) のみです。 ログイン時にユーザー名とパスワードを保存する方法: 通常、クライアントにユーザー情報を保存するために Cookie を使用します。たとえば、7 日間ログインしないという要件があります。 次のページに進みます。 Cookie ストレージが実装されると、ユーザーはパスワードを入力せずに正常にログインできるようになります。 ファイアウォールをオフにします: service iptables stop 1クラスター化インデックス a) インデックス項目は実際のデータ レコードのストレージ ページに直接対応しており、これは「直接」であると言えます b) 主キーはデフォルトでそれを使用します C) の並べ替えインデックス項目とデータ行の格納ソートはまったく同じです。この点を使用して、データの格納順序を変更したい場合は、主キーの方法を変更することができます (元の主キーを取り消して、フィールド、フィールド、または主キーを再構築するためのフィールドのセット) 2 、非クラスター化インデックス SSO を実装するには、次の主な機能が必要であることがわかります: a) すべてのアプリケーション システムは ID 認証システムを共有します ログインプロセス: 1. 初めてサイトにログインします: 用户 C) 取得したユーザーデータに戻り、子局に返す場合にチェックを入れます。検証が失敗した場合は、対応するエラー ステータス コードが返されます。 常 常 常 consts 抽象メソッドとは: メソッド本体なし このメソッドは、キーワード abstract で変更された抽象メソッドです。 パラメータ: 1.json 2.jsonp 3.xml 4.html。 通話親クラス ID を呼び出す 再帰的 http プロトコルはステートレス プロトコルですセッション ID によってユーザーを識別します 6.プロトコルとは何ですか httpHTTPS ip 7 HTTP プロトコルとは何ですか 9 、とは何ですか? jsonp