プロが教える店舗&オフィスのセキュリティ対策術

perlでcgiの勉強をしているのですが、
print文で出力するhtmlに
1.<!DOCTYPE html>
2.<html lang="ja">
3.<meta charset="utf-8">
等のタグや属性を書く事は推奨されているのでしょうか?

cgiの入門サイトを見たら書いてないサイトしかなく、
cgiではこれらのタグは無効なのかと思い質問しました。

A 回答 (2件)

CGI とか WSGI とか Servlet とかの


ウェブサーバー側の都合ではなく、
Firefox とか Chrome とか Edge とか Safari とかの
ウェブブラウザ側の都合で必要です。

1. quirks 防止のため必要
https://developer.mozilla.org/ja/docs/Glossary/D …

2. 無いと別言語書体で表示される可能性あり、特に国外環境
https://developer.mozilla.org/ja/docs/Web/HTML/E …

3. 無いと文字化けする可能性あり、特に古いブラウザ
https://developer.mozilla.org/ja/docs/Web/HTML/E …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
必要なのですね。ブラウザ側の問題なのですね。
付けないで開発して、不都合が出たとき付けてみようと思います。
わてに足りないのは試行錯誤ということに気づきました。

お礼日時:2023/02/18 22:18

○本当に出力していないのか、確認しましょう。


出力には大きく2つあります。
(1)タグ等を直接出力する
(2)CGI処理用のモジュールに任せる

(2)の場合、スクリプト中に直接書かれてなくても、モジュールの機能によって適切なタグが出力されます。
例) CGI.pmの場合、 start_htmlメソッドで DOCTYPE等のタグが生成されます。

スクリプトだけではなく、実際に出力されるHTMLがどうなっているかも確認しましょう。


○入門サイトの内容を確認しましょう。
CGI自体が古い技術なので、執筆当時は正しかった「作法」が、現在の「作法」とは合わないところもあります。
中には、Perlの使い方がメインで、でき上がるHTMLは(執筆当時だとしても)間違いだらけ、というところもあります。

そういうサイトは、考え方だけ参考にして、HTMLは「正しい」ものになるようにしましょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
なにが正しいかまだわからないので、試行錯誤したいと思います。
頑張ります。

お礼日時:2023/02/18 22:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!