現代のインターネットは、クライアント(ブラウザ)とサーバー。彼らが互いに情報を交換できるように、特別なプロトコルが開発されました。これらの1つはHTTPであり、そのおかげで、ユーザーはブラウザーを介して作業し、HTMLページを表示できます。
HTTPは、2台のコンピューター間でHTMLページを交換する方法です。このプロトコルは1990年に発明され、現在、ハイパーテキストページを表示するための主要な方法です。
HTTPヘッダーは通信する文字列ですコンピューター。それは人々の間の対話に似ています。ブラウザがサイトを開くと、リクエストが生成され、ブラウザ自体に関する必要な情報(言語、国、リソースへのリンク、カーネルバージョンなど)が含まれます。このすべての情報はサーバーに送信され、特定のプログラム(Apache、Nginx、LiteSpeedなど)があります。彼女は受け取った行を読み、質問に応じて回答を生成します。
たとえば、ある人がgoogle.comを開くことにした場合、検索バーにリンクを入力すると、ブラウザがリクエストを生成します。ブラウザのHTTPヘッダーは、通常、次のようになります。
スタートライン | google.comを表示 |
リクエスト | 私はロシアから来ました GoogleChromeを使用しています HTMLコードが必要です ユーザー情報を持っています |
HTTPボディ | 期待する |
サーバーはデータを処理し、応答を生成します。
スタートライン | すべてが正常で、ページが見つかり、機能しています |
回答 | 私はApacheベースに取り組んでいます ページは2017年5月27日に変更されました UTF-8エンコーディング |
メッセージ本文 | ページコードを取得する これはユーザーからの新しい情報です(ログイン、パスワード) |
メッセージの本文には、ページのHTMLコードが含まれています。
ほとんどのサイトはHTTPからに移行していますHTTPS接続。後者の違いは、送信されるすべての情報の追加の暗号化です。交換を開始する前に、クライアントはサーバーを認証するためにSSL証明書を必要とします。開発者にとっては何も変わらず、コードを変更せずに作業を続けることができます。
クライアントは、証明書を受け取った後、それを確認します信頼性のために(サーバーからの証明書とセンターからの証明書が比較されます)。すべてが順調であれば、HTTPプロトコルが開始されます。証明書が検証されると、ヘッダーはRSAを介して暗号化されます。これで、攻撃者は重要なユーザー情報(ログイン、パスワードなど)を盗むことができなくなります。
HTTPダイアログを自分で表示できます。特別な略語がフレーズとして使用されます-日付、Cookie、ホスト、サーバーなど。HTTPを表示-ヘッダーはブラウザ拡張機能を使用して可能です。オンラインサービスもこれに役立ちます。
プラグインからHTTPヘッダーを表示するには、次を使用します。
オンラインサービスの使用から:
サーバーから受信したヘッダーをインターセプトします。別のウィンドウに表示します。さらに、1ページから一度に100〜200のヘッダーを取得でき、しばらくすると定期的に送信できます。たとえば、ソーシャルネットワークでオンラインでチェックします。
HTTPヘッダーは、次の4つのタイプに分類できます。
情報の共有を開始するには、まずメインラインが形成されます。その中のクライアントは、必要なファイルまたはオブジェクトを示します。このために、プロトコルを参照する特定の方法が使用されます。スタートラインの構造は、次の3つの部分で構成されています。
リクエスト方法 | オブジェクト | プロトコル |
役職 | /c840024/upload.php | HTTP / 1.1 |
その後、ホスト行をたどる必要があり、サイトのURLが示されます。さまざまなリクエスト方法があります。プログラマーは最も頻繁に使用します:
スタートラインを送信した後、すべてが続きますその他のヘッダー-ユーザーエージェント、Cookieなど。最初の呼び出しがないと、HTTP経由で情報の交換を開始することはできません。ヘッダーは単なる追加であり、1.0プロトコルではまったく送信されない場合があります。
最初の文字列を送信した後、クライアントは送信しますたとえば、ブラウザのバージョンや使用する言語など、データをホストするために使用します。必要に応じて、サーバーはクライアントに他の情報を追加で要求できます。
必須の(常に送信される)HTTP要求ヘッダーは、Host、Referer、User Agent、およびAcceptです。
プログラマーはリクエストヘッダーに影響を与えることはできません。リクエストヘッダーはブラウザによって生成されます。追加の拡張機能を使用して、プログラム自体で転送を構成できます。
クライアントからリクエストを受信した後、ページは特定の文字列をサーバーに送信します。 HTTP転送用のPHP-ヘッダーの場合、header()関数が使用されます。たとえば、ページの新しい場所を報告できます。
ヘッダー(「場所:http://www.site.com/」)。
必要な情報を含むデータがサーバー上のページからクライアントに送信されます。この方法を使用すると、サーバーから必要な情報を見つけることができます。
これらのリクエストは、主にブラウザでページを正しく表示するために必要です。これらは、ページの読み込み速度を向上させるために使用されます。
を暗示する見出しがありますリクエストとレスポンスでは、各リクエストは特定のエンティティ(HTMLコードのあるページ)にバインドされます。これらのリクエストのおかげで、ブラウザはページに関する情報を絞り込みます。それらはキャッシングで積極的に使用されます。
最も人気のあるエンティティのタイトルは最終更新日。このリクエストは、ブラウザからサーバーに、またはその逆に送信できます。このヘッダーを通じて、クライアントはキャッシュを更新する必要があるかどうかを認識します。ダイアログの例:
クライアント:「2016年5月16日付けのキャッシュがありますが、サーバーのページが変更されていますか?」
サーバー:「はい、キャッシュは2017年3月19日に変更されました。これが新しいバージョンです。」
クライアントからスタートラインを受信した後、サーバーはその応答を生成します。
HTTP | プロトコルバージョン | ステータスヘッダー | 明確化 |
HTTP | 1.1 | 200 | OK |
接続状態が確認されると、サーバーは要求された情報をクライアントに送信できます。
次の図に、httpダイアログの例を示します。
リクエストは、ヘッダー()関数を使用してページ上でプログラマーによって生成されます。
通信を継続するには、クライアントはすべてが機能し、ホスティングで正しく表示されていることを確認します。これを確認するために、応答ステータスが考案されています。これらは3桁の数字を表します。
ページからステータスを初期ヘッダーとして転送することができます(例:ヘッダー( "http / 1.1 200 Ok"))。
ページ共有プロセスをスピードアップするために、キャッシングが発明されました。ページは圧縮された形式でコンピューターのローカルストレージに保存されます。これで、毎回ヘッダーで大きなファイルを送信する必要がなくなりました。ホスティングとクライアントの情報が同じであることを確認する必要があります。
特別なキャッシュクエリ文字列を作成し、ホスティングしますクライアントからヘッダーを受信した後、ページのキャッシュがあるかどうかを確認します。存在しない場合は、サーバーに要求します。将来的には、ブラウザにアクセスする前に、プロトコルはサーバー上のキャッシュが変更されたかどうかのみをチェックします。
の圧縮情報を確認するにはHTTPヘッダーの有効期限に示される関連性。クライアントはローカルに保存されているファイルに関する情報を送信し、サーバーはそのバージョンを示します。それらが一致する場合、ブラウザは単にキャッシュのバージョンを表示します。
SEO最適化の場合、指定する必要がありますHTTPヘッダーの日付。これらの目的のために、Last-Modifiedが使用されます。さらに、キャッシュは一定期間の保存後に更新できます。このために、Expiresが使用されます。キャッシュを構成するには、Cache-Controlを使用します。これにより、ページからの情報の保存を有効または無効にできます。
キャッシュを正しく設定すると、すばやく実行できます検索エンジンの結果の上部にリソースを宣伝します。 YandexとGoogleのアルゴリズムは定期的にサイトのページにアクセスし、そのキャッシュをアーカイブに保存します。しばらくすると、サーバーに連絡して情報の関連性を確認します。情報が変更された場合、検索エンジンサーバー上のファイルが更新され、受信したデータのインデックスが再作成されます。
ヘッダーを渡すことをお勧めする人もいます最終-現在の日付を変更しました。これにより、ロボットが常に検索結果の上部に記事を表示することを期待しています。しかし、アルゴリズムはそれ自体の内部のキャッシュに関する情報を毎回変更し、再度インデックスを作成する必要があることがわかりました。これは必ずしも良い結果につながるとは限らず、記事の位置を悪化させるだけの場合もあります。
毎回ホスティングユーザーと通信するためブラウザのアドレスバーにURLリンクを入力します。この文字セットは特定の構造を持っており、必要な情報がそれを介して送信されます。リンク構造には5つの部分があります。
リンクの助けを借りて、あなたは参照するだけでなくHTTP、PHPなどのページ。これらを介して、データベースを検索したり、別のコンピューターに情報を送信したりできます。この方法を使用すると、ハッカーはSQLインジェクションを実行し、さまざまな方法を使用してサイトのデータベースから情報を盗むことがよくあります。
URLの欠点は、サポートがないことです。他のアルファベット-主にラテン語が使用されます。このため、公開する前に、記事の省略されたタイトルを適切に検討する必要があります。結局のところ、検索エンジンは参照により、リソースの有用性とページがユーザーに提供できる情報を評価します。したがって、SEOの最適化中は、記事の正しいURLの形成に特別な注意を払う必要があります。