Web の要素技術


■ TCP

TCPはインターネットで利用される標準プロトコルで、OSI7層モデルのトランスポート層にて使用され、ネットワーク層のIPと、セッション層以上のプロトコルの橋渡しを行う。
信頼性の確保をするため、コネクション管理を行う。具体的には SYN でサーバに接続を要求し、ACK-SYN に接続を許可し、ACK で接続開始をサーバに伝える、3ウェイハンドシェイクと呼ばれる手順が採用されている。
TCPでは通信先のプログラムを識別するためにポート番号が利用されており、80(HTTP)、23(FTP)など一般に認知されているポート番号はウェルノウンポートナンバーと呼ばれている。
TCP ではコネクションを厳密に管理するため転送速度や即時性に落ちるが、リアルタイムで高速に通信を行いたい場合には、UDP が使用されることが多い。
UDP はコネクションの管理を行わないため、信頼性が低い分、高速転送が可能である。

■ IP

IPはインターネットを実現している通信ネットワークプロトコルである。
OSI7層モデルのネットワーク層(TCP/IP, UDPのプロトコルスタックにおけるインターネット層)のプロトコルであり、送信元ホストから宛先ホストへIPアドレスに基づいてデータグラムを送付する役割を担っている。
コネクションレス型のプロトコルであるため、確実にデータが届くことを保証するためには、上位層のTCPを併用する必要がある。
ネットワーク内のコンピュータをホストと呼び、IPの経路の決定は、ホスト、及びルータがルーティングテーブルに基いて行う。
IPではパケットを送受信する機器を判別するために、IPアドレスと呼ばれる番号を使用する。IPアドレスにはIPv4、IPv6があり、ネットワーク部とホスト部から成り立っており、サブネットマスクによってネットワーク部の長さを指定する。

■ HTML5

HTML5 は W3C によって2008年にドラフト版が発表され、現在正式勧告を目指して策定が進んでいるHTML の仕様である。
クラウド環境やモバイルデバイスを意識しており、オフライン時に利用できるアプリケーションキャッシュ機能やWebストレージ機能などが搭載されており、audio や video など Flash の機能の多くをサポートされている。また Flash が搭載されていない iOS デバイスでも採用されていることから、今後マルチメディアコンテンツも Flash から HTML5 が主流になっていくと思われる。
元々はFlash に対抗して Microsoft、Apple、Google などが深く関わっていたが、最近では Flash を開発してきた Adobe も積極的に推進している。
ただ HTML5 はしばしば策定過程において、参加企業の意向が対立したり、実際にブラウザによってサポートされている機能や、HTMLタグの解釈が異なるなど、互換性にも課題が多い。

■ JavaScript

JavaScript はブラウザ上で動作するスクリプト言語である。Java という名前が付いているが、Javaとは全く異なる言語である。JavaScript はコンパイルされず、ソースコードがそのままブラウザ上に読み込まれるため、流用防止やセキュリティ上、難読化することもある。
JavaScript は Google Map で採用された AJAX と呼ばれるXML非同期型通信の技術が注目されることによって、本格的なWebアプリケーションが開発言語として広く認知されるようになった。
また JavaScript は Flash と違い、特別なプラグインも必要とせず、また開発環境やツールによって広くサポートされていることから、比較的に開発の敷居が低い言語とされており、非常に多くのサイトで採用されている。
iPhone, Android などモバイルデバイスにおいてもほぼそのまま動作可能で為、クラウド環境やモバイルデバイスにおいても普及していくものと思われる。

関連記事:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です