0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

HTTPプロトコルとAjax

Last updated at Posted at 2019-06-14

最近JavaScript周辺の勉強を始めたので、ノート代わりにまとめていきます。
主に自分の学習の流れを振り返りで残す形なので色々、省いてます。
Webエンジニアの諸先輩方からアドバイスやご指摘を頂けたらありがたいです!

HTTPプロトコルとは

HTTP(Hyper Text Transfer Protocol)は、クライアント(例えばChromeなど)とWebサーバーの間で、HTMLで記述されたWebページや画像、音声ファイルなどを転送しウェブ(World Wide Web)の世界を通信するためんのプロトコル(通信規約)です。

メッセージやリソースに特殊文字、日本語などの複数バイトの文字バイトが含まれている場合はURLエンコードをしてから送信する。

HTTPによる通信

HTTPでは、クライアントがサーバーにリクエストメッセージを送信しサーバーがこれに対してレスポンスを返します。通常の場合はHTTPリクエストを返すとブラウザを更新してしまい、ページ遷移する場合などにブラウザの状態をリセットしてしまいます。

レスポンスを返した時点でサーバーは初期状態に戻り、この際サーバーはクライアントの状態を保存しません。また通常のHTTP通信では同期通信なのでレスポンスが返ってくるまでロックされて何もできない状態になります。

Ajaxとは

従来の同期通信を改善する為にできたのがAjaxです。
Ajax(Asynchronus JavaScript and XML)はサーバーと通信を行う為の技術です。
XMLHttpRequestというJavaScriptのオブジェクトを利用してWebサーバーと非同期通信をおこないます。
DOM操作を利用してダイナミックにWebページを書き換えるプログラミングの手法です。

非同期通信とはサーバーからレスポンスが返ってくるのを待つことなく、他の作業を進める事ができます。この間、ユーザーは他の処理をする事ができます。逆に同期通信とはレスポンスが返ってくるまで他の作業をする事ができません。

Ajaxの重要な機能は、ページを遷移する事なくサーバーと通信を行うことです。

Ajaxを利用した通信

Ajaxを用いたサービスで有名なものはGoogle mapです。
この場合、ユーザーによって見たい場所が変更されると、クライアント側のJavaScriptプログラムが現在のページで足りない部分を見つけて、その部分を送ってもらうようにリクエストを送信します。サーバーは、このリクエストを受信し、足りないデータの部分だけを送信します。クライアントはこれを受信し、DOMを使って必要部分を変更し表示します。

  • Ajaxの特徴
    - 最小限のデータ通信でけで済む為、処理が高速でサーバーへの負荷が少なく、通信トラフィックへの負荷も小さい
    - 非同期通信を行うユーザーの操作をロックしない
    - Webページの更新はクライアント側で行い、ページ遷移を伴わない部分変更を行う為、高速に描画できる。
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?