技術記事ノック #106~#125
Ajax
Asynchronous JavaScript + XML
アシンクロナス: 非同時性の、非同期の
JSとXMLを使って非同期にサーバとの間の通信を行うこと。
クライアントとサーバーの間でデータを伝送するための機能をクライアント側で提供する API です。ページ全体を再読み込みすることなく、URLからデータを読み出す簡単な方法を提供します。
このAPIによって、ユーザの作業を中断させることなくWebページの一部を更新することができます。
(MDNより)
-
JavaScript
-
DOM
Document Object Model (DOM) は、HTML および XML ドキュメントのための API です。これはドキュメントの構造的な表現を提供し、内容や表示形態の変更を可能にします。端的に言えば、Web ページをスクリプトやプログラミング言語とつなぐような機構です。
(MDNより)
Ajaxを使って動的なWebページを作成するとき、HTML・XML上のどの要素を変更するかを指定する。
そこでDOMはHTMLやXMLを「ツリー構造」として展開し、アプリケーション側に文章の情報を伝え、加工や変更をしやすくするもの。
Extensible Markup Language
文書やデータの意味や構造を記述するためのマークアップ言語の一つ
(HTMLと似たようなもの)
XMLはタグを自由に設定でき、そのタグに意味づけをすることが出来る
データのやり取りで「XML」を使えば、複数のデータを同時にやりとりしても、度のデータがどの要素なのか一発で判明出来る
ただ現在では、AjaxにはXMLの代わりにJSONという型がよく使われている
JavaScript Object Notationの略。
軽量のデータ交換フォーマットで、人間にとって読み書きが容易で、マシンにとっても簡単にパースや生成を行なえる形式です。
Homebrew
MacOS環境における、いわゆる*デファクトスタンダードなパッケージマネージャ
*公的ではないが、業界の標準として認められていて、事実上の標準
※Mac環境以外でも動作する
キャッシュとCookie
- キャッシュ
- 訪問したウェブページの情報を一時的に保存する仕組み
- Cookie
- ウェブページを訪問したユーザ情報を一時的に保存する仕組み
検索エンジンの仕組み
あなたの運営しているサーバーを含めた世界中のWebサーバーと通信し、そのサーバー内のコンテンツを取得していきます。通信手段はHTTP/HTTPSプロトコルなので、HTTP/HTTPSで取得できるものは、なんでも持っていきます(テキストファイル、CSSファイル、JavaScriptファイル、画像、Flash、PDFなど)。
- インデクサ: 取得したコンテンツを解析し保存する
取得したコンテンツの内容を解析します。ここで取得したコンテンツのキーワードやテーマを分析して読み取り、分析結果とそのファイル自体をデータベースに保存(インデックス)します。
- クエリサーバー: ユーザからの計策クエリ(キーワード)の結果ページを返す
ユーザの検索キーワードに基づき、保存してあった解析結果を検索結果ページとして作成し、表示します。SEOの結果が反映される部分になります。
- クローラー対策をする意味
ポイント
- クローラーには適切なステータスコードを伝える
- クローラーはステータスコード以外のHTTPレスポンスヘッダーも見ている
- Date, Server, Last-Modified, Content-Length, Expires
Memo
-
Q: なぜネットワークはループを作ってはいけないのか
-
A: 同じ経路をぐるぐる周り、他の通信を邪魔してしまうから。
-