私はLinuxシステムの下でCとソケットライブラリ(または他のライブラリ)を使ってWebブラウザを作ることに興味があります。CでWebページを表示するプログラムを作る方法は?
ウェブブラウザの基本的な使い方は、ウェブページのHTMLをユーザが読めるものにすることです。
私は誰かが正しい方向に向けるようにしたい。私はまた、ソケットとそのシステムコールのC言語でのかなり良い理解を持っています...
私はLinuxシステムの下でCとソケットライブラリ(または他のライブラリ)を使ってWebブラウザを作ることに興味があります。CでWebページを表示するプログラムを作る方法は?
ウェブブラウザの基本的な使い方は、ウェブページのHTMLをユーザが読めるものにすることです。
私は誰かが正しい方向に向けるようにしたい。私はまた、ソケットとそのシステムコールのC言語でのかなり良い理解を持っています...
正しい方向へのポインタ、ええ?
まあ、Webブラウザは、一緒に働くシステムの混乱から成っています。最も基本的なWebブラウザであっても、最低限、HTTP/1.1とHTMLを理解する必要があります。
リモートサーバーからページを取得し、HTMLをDOMに解析し、ビューポートにレンダリングし、マウスクリックをキャプチャし、ハイパーリンクをアクティブにし、新しいページに移動できるようにする必要があります。
しかし、それだけしかできないのであれば、ウェブブラウザにとっては申し訳ありません。ウェブブラウザの中でも最も簡単なものでも、CSSを解析して適用することができます。 JPEG、PNG、BMP画像を表示し、XMLを解析し、JavaScriptを実行し、クッキー、オフラインストレージ、プラグイン(フラッシュなど)を処理します。
私が作ろうとしている点は、もちろん、基本的な機能性にもかかわらず、Webブラウザは多くの点でソフトウェアプロジェクトの学習に苦労しています。
ウェブブラウザは仮想マシンのようです。 – UmNyobe
@UmNyobe:それは悪い類推ではないと思います。 –
あなたはHTTP – SLaks
を学ぶ必要があります。lynxのソースコードを取得して読み込みます。 (lynxはasciiベースのWebブラウザです) – wildplasser
G-Wanのようなサーバを使ってCのサーブレットを書くことができます:http://gwan.ch/ – thwd