タグ別アーカイブ: http

HTTP/2の概要

HTTPの歴史

HTTPの初めのバージョンは、Webサーバとともに誕生したHTTP/0.9です。
HTTP/0.9では、ほんとうに必要な機能しか持っておらず、リクエスト内容もメソッドと取得先のパスのみで、そのメソッドもGETしかありませんでした。
また、レスポンスのヘッダの規定もなくシンプルにドキュメントを返すのみのメッセージ構造でした。

そしてHTTP/1.1までのバージョンアップによって現在のようなWebシステムにおいて必要不可欠な機能が実装されるまでにいたっています。
また、セキュリティ面の要請からSSL2.0がNetscape Navigator1.1に実装されたのが1994年です。SSLは、TCP/IPプロトコルスタックのトランスポート層の上にセッション層を追加する形で登場し、HTTPをはじめとするアプリケーション層すべてのプロトコルで恩恵を受けることができました。

続きを読む

HTTP1.1のメソッドまとめ

HTTPメソッドってGETとPOST以外にあと何があった?

Webアプリケーションを開発するうえで、HTTPについてあまり意識しないで開発をしている人が多いのではないでしょうか?
もちろん、私もその一人ですw
HTTPメソッドって、GETPOSTのやつでしょ!?的な感じで、他にわかるのは、かろうじてPUTDELETEくらい、、、
他にもHTTPメソッドはあるけど、使ったことがあるかどうかもよくわかんない状態だった、、、
また、効率の良いWebアプリケーションを開発したり、技術的に正しい挙動をするWebアプリケーションを開発する上では、HTTPメソッドについて詳しく知っていることが必要不可欠と感じたので、HTTPメソッドについて調べてみた。

続きを読む

Node.jsとWebSocketでリアルタイムチャットをやってみた

Node.jsでWebサーバを構築するメリット

Node.jsでは、リクエストを処理するときに、イベントループというモデルを採用しており、シングルスレッドで対応します。
イベントが発生するとイベントキューに積まれていき、イベントループで積まれているイベントを処理していきます。Node.jsでWebサーバを構築すると、多重プロセスモデルに比べて、大量のクライアントからの接続を維持できるというメリットがあります。
その反面、CPUを大量に消費するような重たい処理を行うとイベントループが止まってしまうので、そのような処理をするときにはNode.jsは向いていません。

event-model

そんな感じで、Node.jsの大量のクライアントからの接続を維持できるというメリットをいかしWebSocketを使って、リアルタイムチャットをつくってみた。

続きを読む