About HTML
HTMLの概要
HTML履歴
最初のHTMlはCERNが作成を担当し、後にIETFに渡された.
1990-1995年の間、HTMLは多くのバージョンの修正と拡張を経験した.
1995年にHTMLのバージョンがHTML 3に更新されました.0;1997年にHTML 3が完成した.2;
同年にはHTML 4も完成した.翌年、W 3 CはHTMLの発展を停止することを決定し、XMLと等価なXHTML、XHTML 1に転向した.0は2000年に制定された.
XHTML 1がリリースされました.0後、XHTMLモジュール化の旗の下、W 3 CはHTMLとXHTMLと互換性のないXHTML 2を発表した.0;
2003年、XFormsの発表はHTMLに対する興味を再燃させ、XMLはRSS、Atomなどの新しい技術の担体としてのみ使用され、既存の技術(HTMLなど)を置き換えるのに適していないことを認識した.
2004年のW 3 CのシンポジウムではHTML 5の早期提案がW 3 Cに提出されたが、W 3 Cによってその提案とその発展理念が衝突したとして拒否され、W 3 CはXHTMLの開発を継続することにした.
その後、Apple、MozillaとOperaは一緒にWHATWGを作成し、著作権は3つの創始会社が所有し、WHATWGのいくつかの基本原則:下の互換性を維持し、実現ではなく規範を修正し、規範は規範を実現する会社が互いに逆方向になることを十分に防止しなければならない.WHATWGはHTML 5規範にHTML 4,XHTML 1を含むことを要求する.0とDOM 2 HTML;
2006年W 3 CはHTML 5の開発に興味を示し、2007年にWHATWGとワークグループを設立してHTML 5規範を開発し、WHATWGの3人の創始者会社もW 3 CがHTML 5規範をW 3 Cの名義に掛けることを許可した.
2つのチームは長年一緒に働いてきたが、2011年までに2つのチームが分岐し、W 3 CはHTML 5をHTMLシリーズの最後の規範と位置づけたいと考えているが、WHATWGはHTML 5規範の改善と反復を続けたいと考えている.2つのチームも一緒に今まで働いています.
HTMLの拡張性
HTMLは、HTMLドキュメントに意味的なサポートを追加するための幅広い拡張サポートを提供しています.はclassプロパティを使用して要素の意味と動作を拡張しますが、より意味に合った要素を使用すると、遊覧器や他のプラグインが要素が表す意味と動作をよりよく識別するのに役立ちます. はdata-*=""を使用して要素にデータをバインドし、HTMLはこれらのデータをクエリーおよび変更するために対応するAPIを提供します. は、メタデータを定義するために使用される. rel=""を使用して、拡張ドキュメントの事前定義タイプを指定します. 元のデータを埋め込むことができ、インラインドキュメントと外部ドキュメントを選択できます.</p></li>
<li><p>embedタグでプラグインを作成して使用するのもFlashの原理です.</p></li>
<li><p>JavaScriptのプロトタイプメカニズムによってAPIを拡張することができ、多くのスクリプトライブラリがこのように設計されています.</p></li>
</ul>
<h3>HTML基本構文</h3>
<p>古典的なHTMLコードは以下の通りです:</p>
<pre><code class="html"><!DOCTYPE html>
<html lang="en">
<head>
<title>Sample page</title>
</head>
<body>
<h1>Sample page</h1>
<p>This is a <a href="demo.html">simple</a> sample.</p>
<!-- this is a comment -->
</body>
</html></code></pre>
<ol>
<li><p>HTMLドキュメントはいくつかの要素とテキストで構成されており、非閉じた要素には開始ラベルと終了ラベルが含まれている必要があります.閉じた要素は終了ラベルを省略できます.</p></li>
</ol>
<p>HTMLではhtml要素がwindowです.document.これはドキュメント要素で、headとbodyの2つの要素が含まれています.上のコードのh 1のようなテキストはテキストノードに解析され、改行やスペースなどの文字もテキストノードに解析されます.</p>
<blockquote>
<p>Note:head開始ラベルの前のテキストノードはユーザーエージェントによって直接無視され、bodyの終了ラベルの後のテキストノードはbody終了ラベルの前に挿入されます.</p>
</blockquote>
<p>headラベルにはtitle要素が含まれ、titleにはテキストノードが含まれます.</p>
<ol>
<li><p>要素が含まれている場合は、要素の一部ではなく、完全な要素しか含まれません.例えば:</p></li>
</ol>
<pre><code class="html"><p>This is <em>very <strong>wrong</em>!</strong></p></code></pre>
<ol>
<li> <p>要素は、そのプロパティを設定することで、スタイルと動作を制御できます.例えば:</p> <pre><code class="html"><a href="demo.html">simple</a></code></pre> </li>
</ol>
<p></p>
<p>遊覧機が解析するとき、これはハイパーリンクだと思って、下線と色をつけてこの要素を強調します.</p>
<p>属性の構文はキー値のペアの形式で、keyとvalueは等号で区切られ、valueは単一引用符または二重引用符で囲まれることを推奨します.valueスペースまたは逆単一引用符、単一引用符、二重引用符、等号を含まない場合は、単一引用符または二重引用符を書かないことができます.</p>
<p>空の属性については、属性名のみを書き、等号を省略できます.</p>
<h3>DOMとCSS</h3>
<p>DOMは、スクリプト言語(JavaScriptなど)にDOMを変更するためのAPIを提供します.例えば:</p>
<pre><code class="html"><form name="main">
Result: <output name="result"></output>
<script>
document.forms.main.elements.result.value = 'Hello World';
var a = document.links[0];//obtain the first link in the document
a.href = 'sample.html';//change the destination URL of the link
a.protocol = 'https';//change just the scheme part of the URL
a.setAttribute('href', 'https://example.com/');//change the content attribute directly
HTML自体は、対話するメディアとは独立しています.HTMLは、スクリーン、音声合成器、またはブラインドディスプレイにレンダリングされる可能性があります.異なるメディアでHTMLがどのように表示されるかを制御するには、CSSなどのスタイル言語が必要です.
HTMLセキュリティ
HTMLがスタイル言語とスクリプト言語の作用の下で対話できるようになった後、多くのセキュリティ問題も発生した.Webセキュリティモデルはソース(「origins」)に基づく概念である.多くのWeb攻撃は、ドメイン間で関連しています. XSS攻撃とSQL注入攻撃.
XSSは、HTMLにスクリプトや他のユーザエージェントが認識できる情報を注入することによってHTMLを変更する.この注入が保存されれば、他のユーザーは次元ダウンの打撃を受けます.
SQLインジェクションでは、フォームのコミットを使用してWebサーバに入力情報をコミットした後、データベースに情報を保存する際に、コードが入力をフィルタしていないため、攻撃者がデータベース内の情報を変更する可能性があります.
解決方法:ユーザー入力とユーザー情報の出力をフィルタします. CSRF攻撃 HTMLフォームのコミットは任意のサイトで発生し、対応するサイトのクッキーが添付されるためです.そのため、ユーザーが悪意のあるサイトにアクセスすると、サイトはユーザーがアクセスしたいくつかのサイト(ショッピングサイトなど)のHTMLフォームをこっそり提出することができます.ユーザーは無意識に次元を下げる打撃を受けた.
解決方法:Webサーバは、送信されたサイトのOriginフィールドが信頼できるサイトから来ているかどうかをチェックします.そうしないと拒否します.攻撃側はユーザエージェントを利用してフォームをコミットするときにクッキーをコミットするだけで、クッキーの値自体が分からないため、フォームに隠しtokenを追加して自サイトのコミットであるかどうかを検証することができ、隠しtokenはcookieハッシュであることができる.クリックハイジャック 悪意のある敷地は、いくつかの情報を利用してユーザーにクリックを誘導し、一部のユーザーが見たくない行為をトリガーします.
例えば:ユーザーは1つのウェブサイトに入って、1つのゲームを表示して、1つのスタートボタンがあって、ユーザーがクリックした後にショッピングサイトに誘導される可能性があります;あるいは被害を受けたサイトをiframeに入れ、ユーザーがクリックするとiframeをマウスの下にすばやく移動します.
解決策:topとwindowが等しいかどうかを判断して、サイトがiframeにあるかどうかを判断することができます.
最後に
荆軻刺秦王~
HTML履歴
最初のHTMlはCERNが作成を担当し、後にIETFに渡された.
1990-1995年の間、HTMLは多くのバージョンの修正と拡張を経験した.
1995年にHTMLのバージョンがHTML 3に更新されました.0;1997年にHTML 3が完成した.2;
同年にはHTML 4も完成した.翌年、W 3 CはHTMLの発展を停止することを決定し、XMLと等価なXHTML、XHTML 1に転向した.0は2000年に制定された.
XHTML 1がリリースされました.0後、XHTMLモジュール化の旗の下、W 3 CはHTMLとXHTMLと互換性のないXHTML 2を発表した.0;
2003年、XFormsの発表はHTMLに対する興味を再燃させ、XMLはRSS、Atomなどの新しい技術の担体としてのみ使用され、既存の技術(HTMLなど)を置き換えるのに適していないことを認識した.
2004年のW 3 CのシンポジウムではHTML 5の早期提案がW 3 Cに提出されたが、W 3 Cによってその提案とその発展理念が衝突したとして拒否され、W 3 CはXHTMLの開発を継続することにした.
その後、Apple、MozillaとOperaは一緒にWHATWGを作成し、著作権は3つの創始会社が所有し、WHATWGのいくつかの基本原則:下の互換性を維持し、実現ではなく規範を修正し、規範は規範を実現する会社が互いに逆方向になることを十分に防止しなければならない.WHATWGはHTML 5規範にHTML 4,XHTML 1を含むことを要求する.0とDOM 2 HTML;
2006年W 3 CはHTML 5の開発に興味を示し、2007年にWHATWGとワークグループを設立してHTML 5規範を開発し、WHATWGの3人の創始者会社もW 3 CがHTML 5規範をW 3 Cの名義に掛けることを許可した.
2つのチームは長年一緒に働いてきたが、2011年までに2つのチームが分岐し、W 3 CはHTML 5をHTMLシリーズの最後の規範と位置づけたいと考えているが、WHATWGはHTML 5規範の改善と反復を続けたいと考えている.2つのチームも一緒に今まで働いています.
HTMLの拡張性
HTMLは、HTMLドキュメントに意味的なサポートを追加するための幅広い拡張サポートを提供しています.
<li><p>embedタグでプラグインを作成して使用するのもFlashの原理です.</p></li>
<li><p>JavaScriptのプロトタイプメカニズムによってAPIを拡張することができ、多くのスクリプトライブラリがこのように設計されています.</p></li>
</ul>
<h3>HTML基本構文</h3>
<p>古典的なHTMLコードは以下の通りです:</p>
<pre><code class="html"><!DOCTYPE html>
<html lang="en">
<head>
<title>Sample page</title>
</head>
<body>
<h1>Sample page</h1>
<p>This is a <a href="demo.html">simple</a> sample.</p>
<!-- this is a comment -->
</body>
</html></code></pre>
<ol>
<li><p>HTMLドキュメントはいくつかの要素とテキストで構成されており、非閉じた要素には開始ラベルと終了ラベルが含まれている必要があります.閉じた要素は終了ラベルを省略できます.</p></li>
</ol>
<p>HTMLではhtml要素がwindowです.document.これはドキュメント要素で、headとbodyの2つの要素が含まれています.上のコードのh 1のようなテキストはテキストノードに解析され、改行やスペースなどの文字もテキストノードに解析されます.</p>
<blockquote>
<p>Note:head開始ラベルの前のテキストノードはユーザーエージェントによって直接無視され、bodyの終了ラベルの後のテキストノードはbody終了ラベルの前に挿入されます.</p>
</blockquote>
<p>headラベルにはtitle要素が含まれ、titleにはテキストノードが含まれます.</p>
<ol>
<li><p>要素が含まれている場合は、要素の一部ではなく、完全な要素しか含まれません.例えば:</p></li>
</ol>
<pre><code class="html"><p>This is <em>very <strong>wrong</em>!</strong></p></code></pre>
<ol>
<li> <p>要素は、そのプロパティを設定することで、スタイルと動作を制御できます.例えば:</p> <pre><code class="html"><a href="demo.html">simple</a></code></pre> </li>
</ol>
<p></p>
<p>遊覧機が解析するとき、これはハイパーリンクだと思って、下線と色をつけてこの要素を強調します.</p>
<p>属性の構文はキー値のペアの形式で、keyとvalueは等号で区切られ、valueは単一引用符または二重引用符で囲まれることを推奨します.valueスペースまたは逆単一引用符、単一引用符、二重引用符、等号を含まない場合は、単一引用符または二重引用符を書かないことができます.</p>
<p>空の属性については、属性名のみを書き、等号を省略できます.</p>
<h3>DOMとCSS</h3>
<p>DOMは、スクリプト言語(JavaScriptなど)にDOMを変更するためのAPIを提供します.例えば:</p>
<pre><code class="html"><form name="main">
Result: <output name="result"></output>
<script>
document.forms.main.elements.result.value = 'Hello World';
var a = document.links[0];//obtain the first link in the document
a.href = 'sample.html';//change the destination URL of the link
a.protocol = 'https';//change just the scheme part of the URL
a.setAttribute('href', 'https://example.com/');//change the content attribute directly
HTML自体は、対話するメディアとは独立しています.HTMLは、スクリーン、音声合成器、またはブラインドディスプレイにレンダリングされる可能性があります.異なるメディアでHTMLがどのように表示されるかを制御するには、CSSなどのスタイル言語が必要です.
Sample styled page
Sample styled page
This page is just a demo.
HTMLセキュリティ
HTMLがスタイル言語とスクリプト言語の作用の下で対話できるようになった後、多くのセキュリティ問題も発生した.Webセキュリティモデルはソース(「origins」)に基づく概念である.多くのWeb攻撃は、ドメイン間で関連しています.
XSSは、HTMLにスクリプトや他のユーザエージェントが認識できる情報を注入することによってHTMLを変更する.この注入が保存されれば、他のユーザーは次元ダウンの打撃を受けます.
SQLインジェクションでは、フォームのコミットを使用してWebサーバに入力情報をコミットした後、データベースに情報を保存する際に、コードが入力をフィルタしていないため、攻撃者がデータベース内の情報を変更する可能性があります.
解決方法:ユーザー入力とユーザー情報の出力をフィルタします.
解決方法:Webサーバは、送信されたサイトのOriginフィールドが信頼できるサイトから来ているかどうかをチェックします.そうしないと拒否します.攻撃側はユーザエージェントを利用してフォームをコミットするときにクッキーをコミットするだけで、クッキーの値自体が分からないため、フォームに隠しtokenを追加して自サイトのコミットであるかどうかを検証することができ、隠しtokenはcookieハッシュであることができる.
例えば:ユーザーは1つのウェブサイトに入って、1つのゲームを表示して、1つのスタートボタンがあって、ユーザーがクリックした後にショッピングサイトに誘導される可能性があります;あるいは被害を受けたサイトをiframeに入れ、ユーザーがクリックするとiframeをマウスの下にすばやく移動します.
解決策:topとwindowが等しいかどうかを判断して、サイトがiframeにあるかどうかを判断することができます.
最後に
荆軻刺秦王~