//tips
//Webを支える技術
VR設計本の電子版がなく、amazonの配達待ちの時間を活用し、読めていなかった「webを支える技術」でシステムを構築する上で助けになりそうなのでポイントを理解していく。
現在のコンピュータにとって最も大切なソフトウェアは、webを閲覧するためのブラウザで、誰もがネットを使える環境になった今webサーバーとユーザーをつなぐ役割が持つインパクトは大きい。
Webを支える最も基本的な技術は、HTTP,URI,HTMLで
URIは、URLの広い概念にあたるもので、名前または場所を識別する書き方のルールの総称を表し、場所を示す書き方のルールであるURLの使用基準などを定めている。
HTMLは、情報を表現する文書フォーマット。
HTTPは、URIで操作対象を指定し、そこから、中身のHTMLの情報を取得したり、発信したりする。
この技術を基に、Web は複数のコンピュータを組み合わせて処理を分散させる分散システムを採用しており、これは世界中に配置されたサーバに世界中のブラウザがアクセスする仕組みとなっている。
VRシステムに相性がよさそうなのは、ブラウザ機能を複数開きっぱなしにして擬似的なマルチディスプレイを作ることで、監視やトレード情報を効率よく進めることができる。空間の制限がないことを逆に利用できる。
現状では操作性が問題で、音声入力がもう少し発達しないと、VR内でのアクションが検索まで進まない。MRグラスでのタイピングの方が先に実現しそう。
Webの設計はクライアント/サーバでユーザー利用担当とデータ保存担当に分かれており、サーバというデータ保存庫があるおかげで、ユーザーのデバイスはマルチプラットフォームとして機能させることができる。
パソコンで、ブラウザを開くだけでなく、書類も作成できるし、撮影もできるといった多目的な用途をクライアント側に与えることできるという点でサーバの存在価値が際立つ。
また、URIを通してリンクを接続することで、複数の内容・部品を接続でき、内容の補完やページ内強調範囲の有効利用を含めた生態系を生み出すことができる。
URIをもう少し詳しく見ていく。例えば、
http://blog.example.jp/entries/1
これは
URIスキーム:http
ホスト名(ドメイン名 or IPアドレス):blog.example.jp
パス:/entries/1
と分解することができる。
httpでアクセスできる、blog.example.jpさんが保有するリソース/entries/1という意味になる。
もう少し複雑なものであれば
http://naki:pass@blog.example.jp:8000/search?q=test&debug=true#n10
これは
URIスキーム:http
ユーザー情報:naki:pass
ホスト名(ドメイン名 or IPアドレス):blog.example.jp
ポート番号:8000
パス:/search
クエリパラメータ:q=test&debug=true
URIフラグメント:#n10
と分解される。
ユーザー情報はページにアクセスする際に、ユーザー名とパスワードが要求されることを示す。
ポート番号とは、該当コンピュータのどのプログラムに通信パケットを届けるかに使用するもの。
例えば、クライアント側がHTTPを使って通信する際、 該当サーバのIPアドレスとポート番号80番を指定してパケットを送ると、 サーバ側では、届いたパケットを 事前に指定しておいたそのポート宛のパケットを処理するプログラムで、 中身を処理する。
クエリパラメータとは、検索サービスに検索キーワードを渡し、クライアント側から動的にURIを生成する時に使用する。
例えば、Google先生に「webを支える技術」と打ち込むと下記のようなURLが表示されるのが見て取れる。
https://www.google.com/search?q=web%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93&oq=&aqs=chrome.0.35i39i362l8...8.498003j0j7&sourceid=chrome&ie=UTF-8
URIフラグメントとは、リソースの内容を示すもので、id属性がn10とは内容がHTML文書であることを示している。
VR本が届き、中身を見ていたが、VRのシステムを作るところまでいかないようなので、VRアプリをUnityで制作するところをやって行こうかと思う。