• 締切済み

ブラウザ作成に必要な知識

クッキーの使えるブラウザを作ろうと考えています。テキストブラウザで構いません。できれば簡単な情報収集エージェントとして使いたいです。何を勉強すれば作れるものか、御指南いただけないでしょうか。普段はウィンドウズを使っております。 現在の知識 Perl,HTML: 初級 C,C++,JAVA,Perl/Tk,CGI: 入門 HTTP: ほとんど無し

みんなの回答

  • alfeim
  • ベストアンサー率58% (114/195)
回答No.2

まずHTMLを取得するためにTCP/IPでHTTPDに接続しデータを取得する必要があるため、HTTP/1.0もしくはHTTP/1.1の知識、及びTCP/IPなどSocket操作。 取得してきたHTMLから表示データを作る過程で、構文解析。 解析した情報を元にレイアウトセットアップが必要になるのでGUIなら各NativeInterface、CUIなら各コンソールの操作(EscapeSequenceもしくは各種ライブラリなど)。 あとは英語以外の文字圏のサポートも考えるとMultibyte処理及び、文字コード間の変換など。 ゼロからの作成であればこの程度は必要でしょう。Windows下で各種コンポーネントに頼っても良いのであればIEを使ったりとか楽が出来ますけど。

  • zzzzzz
  • ベストアンサー率61% (70/113)
回答No.1

実際にブラウザまでを作った経験があるわけではないので、作るとすれば、という話ですが。 最低限必要な知識は、httpプロトコルの基礎と、HTMLの仕様、および各種言語でのネットワーク接続のやり方でしょう。 ネットワーク接続は、C/C++を使用するならwininet.dllの関数の理解(winsockでもできますが、wininetの方がずっと簡単です)、 Javaを使用するならjava.netパッケージの各クラス(特にURL,URLConnection,HttpURLConnection)の理解が必要となります。 通信ができればHTMLドキュメントの取得まではできます。ここまではそれほど難しくないと思います。 難しいのはHTMLのパーシングおよび表示の部分だと思われます。 XMLのように厳格な記述を持つ言語ならパースするライブラリも数多く出ていてやりやすいのですが、 HTMLは言語仕様がタグの省略に関して寛大ですし、そもそも正しいHTMLを書いている人が少ないですので、パースが困難です。 # C/C++ならWindowsAPIの知識は何をするにも必要です

関連するQ&A

  • CGIでhtmlを作成するもブラウザに表示されない(ソース表示あり)

    PerlでHTMLを表示するCGIを作成しました。 ローカルPCで試しているのですが、ブラウザは真っ白な表示で、ステイタスバーには「ページが表示されました」のメッセージがでます。 ソースを表示するとちゃんと指定したHTMLタグがあります。 何が正常な表示の妨げになっているのでしょう。 ちなみにPerlのコードはそんなに難しいものではなく #!/usr/local/bin/perl require "./lib/cgi-lib.pl"; &ReadParse(); print <<END; content-type: text/html <html> <head> <TITLE>送信処理</TITLE> </head> <body bgcolor="#cccccc"> <center> $in{'data'}<BR> </center> </body> </html> END 程度のものです。 ・マシンは富士通FMVでOSはWinXP ・WebサーバーソフトはAN HTTPD Daemon Version 1.41g ・CGIはCygwinのPerl5.8.0です。 ・ブラウザはIE6-SP2です。 この様にブラウザで真っ白な表示になるのは1つのCGIファイルだけで、他のCGIファイルは正常にブラウザ表示されます。

    • ベストアンサー
    • Perl
  • Perlでブラウザのようにクッキーデータ送信して、同じデータを見たい。

    クッキーをクライアント側から操作したいのですが、 IEなどブラウザがサイトアクセスした時にどのようにクッキーデータを送っているか知りたいです。 GET / HTTP/1.0\n\n は、わかりますが、クッキーデータはどのタイミングで、どういう形式で送信しているのか、ブラウザのように振舞いたいのですがわかりません。 あるサイトはクッキーを認証として使っているのですが、コマンドラインから情報を取得するperlを書いているのですが、クッキーのため別画面の結果が返ってきます。IEでは正しく見れるのですが、perlからは方法がわからないため、できませんでした。

    • ベストアンサー
    • CGI
  • Perl/Tk使う利点は?

    Perl/Tkを使うとGUIアプリが作れるそうですが、、、、そこで質問です。 (1)C++、Java、Delphiなどではなく Perl/Tkを使う利点はなんですか? (2)Linux、Windows間での移植性はどうですか? (3)Perlなので、やっぱり遅いのでしょうか。

    • ベストアンサー
    • Perl
  • 別のページに戻りたい

    こんにちは。 以前、ASPで似たような質問をさせてもらったのですが、再度質問です。 perlでCGIを作成しています。 現在、a.cgiからb.cgiをリンクで呼び出し、b.cgiからはフォームでc.cgiを呼び出し、c.cgiからはLocationでa.cgiに自動で戻るようになっています。 a.cgi->b.cgi->c.cgi->a.cgi ここで、b.cgiをx.cgiからも呼び出したいと思ったのですが、最後、c.cgiからはやはりa.cgiに戻ってしまいます。 この場合に、c.cgiから、x.cgiへ戻るようにすることは可能でしょうか? a.cgi->b.cgi->c.cgi->a.cgi x.cgi->b.cgi->c.cgi->x.cgi とりあえず、1つの方法として、HTTP_REFERERをhiddenでb.cgiの画面に埋め込んでc.cgiに渡すことは考えました。 なるべくブラウザの環境に依存したくないので、javascriptやクッキーは使わないとして、他に方法はないでしょうか?

    • 締切済み
    • CGI
  • Perlスクリプトが、ローカルでは実行できるが、HTTP経由では実行できない

    現在Perlスクリプトを作成し サーバにアップしました。 SSHでサーバにログインし #perl a.cgi と実行したところ(CGIとして動作させるため。中身はPerlスクリプト) Content-type: text/html <html> <body> あああああ </body> </html> のようなメッセージが表示され正常に動作しているとおもいます。 しかし、 http://www.hoge.com/a.cgi をURLとしてブラウザ上で実行すると 500 Internal Server Error になります。 パーミッションは755で正常 Perlのパスは#!/usr/bin/perlとしており、これも正常です。 文字コードはeuc-jp 改行コードLF サーバはApache/1.3.33 Perlバージョンは5.8.4 自分のパソコン上でperl+HTTPサーバ(httpd)を使うと HTMLふぁいるとして出力されます。 サーバ上でHTTPを使ってアクセスしたときのみエラーとなります。 このような現象が起こるのですが原因がわかりません。 お願いします。

    • ベストアンサー
    • Perl
  • カウンターcgiをHTMLに表示したい

    perlの入門書を見て簡単なカウンターのcgiを作りました。gif画像を10枚使ってテキスト数字のかわりに表示させるものです。 サーバーにアップして動作確認もしました。ちゃんと動いています。 このカウンターをHP上のHTMLのページに表示させたいのですが方法が分かりません。 <img src="カウンターcgiのURL"> と書いたのですが、ダメでした。 画像ではないのでimgタグだとダメなのでしょうか。 どうすればHTMLに表示できるのか教えて下さい。 関係があるか分かりませんが、SSIは使えます。

    • ベストアンサー
    • Perl
  • perlパス

    Windows2000機でWebServerを建てたのですが、CGIが認識しません。 WEBサーバーのクライアントソフトはApacheで 普通にHTMLは見れています。 perlをインストールした場所は C:\usr\local で VerはActivePerl 5.8.8.822 for Windows (x86)です。 場所は↑なのでCGIファイルのperlのパスはそのままいじらず、 perlのパスは#!/usr/local/bin/perl です。 一応#!C:/~以下   もやりましたがだめで、 CGIのテキストが表示されています。 色々調べてやったのですがどうもうまくいかず 教えていただけませんか

  • HTMLからの起動

    基本的にはVBやasp asp.netを使っていて 最近Perlを勉強しはじめたのもです。 ActivePerlをインストールし、AN HTTP Daemonを 使って勉強しています。 HTMLからcgiファイルの起動をすると何故かテキストファイルとして起動されてしまいます。 (ファイルはいくつかのサイトからサンプルのをダウンロードしました。) 直接cgi起動は問題なく実行されます。。。 何故でしょうか? 心当たりのある方、教えてください。

    • ベストアンサー
    • Perl
  • ブラウザから起動すると、いきなりプログラムが終了してしまいます。

    今制作中のCGIをブラウザから起動すると  Error 500  CGI エラー - 標準出力に何も出力されていません。 でもコマンドラインから起動すると、しっかりHTML文を吐き出しています。もちろんCGIヘッダーも吐き出しています。 デバッガとしてActiveState社のPDKを使っているので、シュバング行に-dを付けておけばブラウザから起動しても一行ずつ実行されるはずですが、実行されません。URL窓にURLを打ち込む、即前述のエラーが出る次第です。 PDKのバグではなかろうかと思ったりしますが、シュバング行の-dを外しても症状がまるで変わらないというのは・・・ こういう症状を体験されたことのある方はいらっしゃらないでしょうか? 何が原因だと思われます? 言語はPerlです。

    • ベストアンサー
    • CGI
  • LinuxによるWebサーバ構築知識

    標記の考え方についてキーワードとして ・Apache ・CGI(Perl,PHP,JAVA,C) ・DB(PostgreSQL,MySQL) がインターネット文書等であげられていますが、 これら3つのカテゴリの関連性がイマイチよく理解できません。 どなたかご教授願います。 +αそれぞれプログラミング言語も挙げてあるのですが比較してどの言語が良いか教えていただけると幸いです。 目的といたしましては、WebによるDB管理です。

専門家に質問してみよう