HTML5プロフェッショナル試験レベル1では、HTMLに関する知識だけでなく、Webに関連した知識も問われます。
公式が公開している出題範囲では知識問題
という表記なのでそれほど詳細には突っ込まれないでしょう。
ですが、重要度は★7と高いのでしっかりと抑えておきたいところです。
http://html5exam.jp/outline/objectives_lv1.html
この記事では上記リンクの「Webの基礎知識」の範囲をメモしておきます。
- HTTP,HTTPSプロトコル
- HTMLの書式
- ネットワークサーバ関連技術の概要
- Web関連技術の概要
1.1.1 HTTP,HTTPSプロトコル
望まれるスキル:
HTTPのコンテンツ作成やサイト全体の設計を行うために必要なHTTPおよびHTTPSプロトコルに関する知識を有している。ブラウザでアクセスした時に帰ってくるエラーコードの意味を理解できて問題解決のヒントとすることができる。
HTTPとはHyperText Transfer Protocolの略で、Webブラウザとサーバ間でのコンテンツの送受信に用いられるプロトコルです。デフォルトのポートは80番ですが変更可能です。HTTPS(HyperText Transfer Protocol Secure)はSSL/TLSプロトコルによって提供されるセキュアな回線上で行うHTTP通信のことをいいます。デフォルトポートは443番です。
HTTP通信でサーバとやりとりする際に使用される独自の文言をリクエストメソッドといいます。
リクエストメソッドには主に以下があります。
- GET コンテンツを取得
- POST データを送信
- HEAD ヘッダフィールドを取得
- PUT URIにリソースを保存
- DELETE URIのリソースを削除
GET
HTTPサーバからコンテンツを取得するにはGETを使います。
GETメソッドはHTTPにおいて最も基本的なリクエストメソッドです。
以下はncコマンドによるHTTP通信の例です。
$ nc 10.0.1.1 80 GET / HTTP/1.0(Enter2回) HTTP/1.1 200 OK Date: Thu, 02 Oct 2014 07:54:57 GMT Server: Apache/2.4.7 (Ubuntu) Last-Modified: Sat, 20 Sep 2014 13:58:25 GMT ETag: "c7a-5037f9c900c83" Accept-Ranges: bytes Content-Length: 3194 Vary: Accept-Encoding Connection: close Content-Type: text/html <html> <head> <style> * {margin:0;padding:0;} .clearfix { clear: both; } body { background-color: #000; line-height: 1.5} :
HEAD
ヘッダフィールドのみを取得するメソッドです。Webページのコンテンツ部分を取得することなくページが存在するか否か、サーバ情報の状態、ページの更新日などを取得することができます。
$ nc 10.0.1.1 80 HEAD / HTTP/1.0 HTTP/1.1 200 OK Date: Thu, 02 Oct 2014 10:41:29 GMT Server: Apache/2.4.7 (Ubuntu) Last-Modified: Sat, 20 Sep 2014 13:58:25 GMT ETag: "c7a-5037f9c900c83" Accept-Ranges: bytes Content-Length: 3194 Vary: Accept-Encoding Connection: close Content-Type: text/html
主なヘッダフィールドは以下の通りです。
Host | 要求しているホスト名 |
---|---|
Connection | 持続接続を制御する指示子 |
Cache-Control | キャッシュを制御する指示子 |
Content-Language | コンテンツの言語 |
User-Agent | クライアントのユーザエージェント |
Accept-Encoding | クライアントの受け入れ可能なエンコード方式 |
Accept-Language | クライアントの受け入れ可能な言語 |
Authorization | 認証情報 |
Referer | 参照元 |
Location | リソースの場所 |
Set-Cookie | クッキーをセット |
Cookie | クッキーを送信 |
HTTPステータスコード
- 200 OK
- リクエストに成功したことを示しています。
- 301 Moved Permanently
- リソースが恒久的に移動したことを示しています。
- 304 Not Modified
- リソースが更新されていないことを示しています。
- 307 Temporary Redirect
- リソースが一時的に移動していることを示しています。
- 400 Bad Request
- 不正なリクエストであることを示しています。許可されていないメソッドを使用したり、リクエストのスペルミスなどでこのレスポンスが帰ってきます。
- 401 Unauthorized
- 認証されていないことを示しています。Basic,Digest認証がかかっているURLで認証をキャンセルした場合などにこのレスポンスが帰ってきます。
- 403 Forbidden
- アクセス権が無いことを示しています。意図に反してこのステータスが帰る場合はパーミッションを間違えている場合が多いです。
- 404 Not Found
- リソースが見つからない
- 408 Request Timeout
- リクエストのタイムアウト
- 500 Internal Server Error
- サーバの内部エラー
- 502 Bad Gateway
- 不正なゲートウェイ
- 503 Service Unabailable
- サービスが一時的に利用不可であることを示しています。高負荷時にこのレスポンスが帰ることが多いです。
リダイレクトとはアクセスしたページから自動的に他のページに飛ばすことです。
ステータスコードを300代に指定し、Locationヘッダフィールドで飛ばす先のURLを指定します。
HTTP/1.0 302 Found Cache-Control: private Content-Type: text/html; charset=UTF-8 Location: http://www.google.co.jp/?gfe_rd=cr&ei=1zctVJXDFeeN8Qfnj4HoCA Content-Length: 261 Date: Thu, 02 Oct 2014 11:32:39 GMT Server: GFE/2.0 Alternate-Protocol: 80:quic,p=0.01
認証
HTTPでは認証方法としてBasic認証とDigest認証があります。
Basic認証は「ユーザ名:パスワード」をbase64エンコードしてリクエストに付加します。
Digest認証ではユーザ名とパスワードをmd5ハッシュ化して送ることで盗聴による情報漏洩を防ぎます。
URLとURIの違い
URLはUniform Resource Locatorの略で、インターネット上のリソースの場所を指す文字列です。
http://html5exam.jp/outline/objectives_lv1.html
URIはUniform Resource Identifierの略で「Identifier:識別子」つまり、インターネットに限らずリソースの場所を示すための文字列であり、URLよりも広義的な意味合いを持ちます。
SSL/TLS
Secure Sockets Layer/Transport Layer Securityの略で、暗号化通信を実現するプロトコルです。
TLSが正式名称ですが、かつてはSSLと呼ばれていたため、どちらでも意味は通じます。
認証局による電子署名による認証(公開鍵暗号)と共有鍵暗号方式による暗号化を組み合わせたものです。
アプリケーションに依存しないため、HTTPS以外でも利用されます。
ネットワークサーバ関連技術の概要
望まれるスキル:
Webサイトを構築するにあたって、テスト環境の構築や、コンテンツが正しく表示されない場合のトラブルシューティングができるだけのネットワークやサーバに関する知識を有している。 CMSなどの管理システムを構築し、コンテンツを正しく表示させるために必要となるネットワークやサーバに関する知識を有している。 Webサイトを運営する際の攻撃などの脅威から守る方法についての対策の概要を理解できている。
- IP(Internet Protocol)
- OSI参照モデルの第3層ネットワーク層に位置する通信プロトコルです。
IPアドレスに基づく送信元から送信先へデータグラムを送付する役割を持ちます。
データグラムとはネットワーク上でやり取りされるデータのことを指します。パケットと意味合いは近いですが、パケットの場合はデータの再送付やエラー検知などを備えた通信データに対して言う方がしっくりきます。 - IPアドレス
- IPアドレスには内部ネットワーク専用のプライベートIPアドレスと公衆ネットワーク上で使うグローバルIPアドレスの2つがあります。
プライベートIPアドレスに関しては、予めRFCで予約されています。 クラスA:10.0.0.0~10.255.255.255 クラスB:172.16.0.0~172.31.255.255 クラスC:192.168.0.0~192.168.255.255 - ループバックアドレス
- 自分を指すアドレスで127.0.0.1~127.255.255.254が予約されています。
- TCP
- Transmission Control Protocolの略でOSI参照モデルのトランスポート層に位置する通信プロトコルです。
送信元・送信先ポートやシーケンス番号、チェックサムなどをTCPヘッダに付加してIPへ送ります。TCPは再送制御やエラー訂正機能を持ち、信頼性の高い通信が可能です。 - UDP
- User Datagram Protocolの略でTCPと同じく送信元・送信先ポートをヘッダに付加してデータを送付します。
しかし、再送制御やエラー訂正が無いため信頼性に欠けるプロトコルです。TCPと比べ作業が少ないため速度を求められるストリーミングやNTPやDNSなどで利用されます。 - UTM(総合脅威管理)
- 総合脅威管理 UTM:Unified Threat Managementはウイルスやハッキングなどの脅威からネットワークを効率的かつ包括的に保護する管理手法のことをいいます。
Web関連技術の概要
望まれるスキル:
動的なWebコンテンツを作成するプロジェクトにおいて、どのような技術や対策を行っているのかを理解し、プロジェクト内で円滑にコミュニケーションできるために必要な知識を有している。Webコンテンツへのアクセスを伸ばす方法として、一般的に利用されているものについて説明する事ができる。
- セッション
- セッションとはネットワーク上の通信においてある一定期間の一連の通信のことを指します。
HTTPにはセッションの仕組みを持っていないため、HTTP Cookieなどの仕組みを用いてセッションIDなどを付与して通信します。 - Javascript,Ajax
- JavascriptはWebページで利用されているオブジェクト指向プログラミング言語です。
JavaとオーストリアはJavascriptとオーストラリアほど違います。
Javascriptの仕様はEcma InternationalによりECMAScriptとして標準化されており、Javascriptはその一つとなっています。
Ajax(Asynchronous JavaScript + XML)は、ブラウザ内で非同期通信することでページ遷移を行わずに通信結果に応じて動的にページを変化させる手法です。 - 画像ファイルフォーマット
- BMP:圧縮無しの形式です。Windowsが標準でサポートする画像ファイル形式でビットマップと呼ばれます。
GIF:256色以下の可逆圧縮の形式です。インターレースをサポートしています。
PNG:フルカラー1677万色の可逆圧縮方式の形式です。gifの特許問題中にgifに変わる形式として生まれました。インターレースに対応しています。
JPEG:色数の多い画像で高い圧縮率を持つ非可逆圧縮方式の形式です。プログレッシブJPEGはインターレースのように最初に荒い画像を表示し、徐々に鮮明に表示される方式です。プログレッシブではないJPEGをベースラインJPEGと呼びます。 - MVCアーキテクチャ
- Model View Controllerはソフトウェアの設計手法の一つです。プログラムを以下の3要素に明確に分割することによりプログラムの構造がわかりやすくします。
View:ユーザインターフェイス
Model:データやロジック
Controller:上2つを制御 - CMS
- Contents Management SystemはWebコンテンツとなる画像やテキストなどを管理し運用するソフトウェアです。
代表的なCMSとしてWordPressなどがあります。 - Webにおける主な攻撃手法
- SQLインジェクション:SQLやOSコマンドなどを扱う部分などの脆弱性を突き、攻撃者の任意のSQL文を実行する攻撃
クロスサイトスクリプティング:ユーザの入力値を元に動的にページを生成している場合、攻撃者が悪意あるスクリプトを埋め込む
CSRFクロスサイトリクエストフォージェリ:外部からのリクエストによってサイト上で何らかの操作を行わせる攻撃手法
ディレクトリトラバーサル:ファイルを扱う操作などで「..」などの親ディレクトリを指す文字を含ませ通常ではアクセスできないディレクトリにアクセスする攻撃手法
HTTPヘッダインジェクション:任意ヘッダを挿入することでクッキーの置き換えなど不正な動作を行わせる攻撃手法 - DOM
- Document Object Modelの略でHTMLやXML文書をアプリケーションから扱うためのAPIです。
- SOAP
- オブジェクト間でのメッセージ交換やRPCのためのプロトコルです。メッセージはXMLでやり取りされます。
- OGP
- Open Graph Protocolの略で主にSNSなどで対象のWebページがどのような内容かを記述する仕様です。
meta要素のproperty属性にog:から始まる各種情報を記述し、content属性で内容を記述します。 - ROI
- Return On Investmentの略で投資した資本に対する利益の割合のことで投資対効果などとも呼ばれます。
- 関連記事
-
-
CSS3 マルチカラムレイアウト 2014/10/04
-
CSS3 色の指定 2014/10/04
-
Webの基礎知識 - HTML5 Professional Level1 2014/10/02
-
HTML5 from関連 2014/10/01
-
data URI 2014/09/29
-