最近書かれた記事5件分を表示します。
更新状況をRSS 1.0形式でご覧になれます。
2005年10月17日に条件付きGETを導入したものの、実際にはきちんと動作していなかった。その当時からWebサイトの構造を変更している(XHTML+PHP→XML+XSLT+PHP)こともあり、もう一度見直すことにする。
User Agentの中には、自身が解釈できないにもかかわらず、HTTPリクエストヘッダのHTTP_ACCEPTフィールド値の一つとしてapplication/xhtml+xmlを送るものがある。HTTP_ACCEPTフィールド値を見て、コンテンツのContent-Type(MIME type)を決めているのであれば注意が必要だ。
htmlspecialchars()の使い方を間違えてはいないか。1月16日に書いた記事(続・「サニタイズ言うなキャンペーン」)を読み返していて疑問に思ったため、プログラムをもう一度見直すことにする。
続・「サニタイズ言うなキャンペーン」とは(高木浩光@自宅の日記)にて、12月29日に書いた記事(「サニタイズ言うなキャンペーン」)への指摘をいただいた。
gzip圧縮転送はローカルサーバにおいても有効である。転送量を削減(圧縮)することにより、PHPの実行時間を減らすことができる。
「サニタイズ言うなキャンペーン」とは何か(高木浩光@自宅の日記)を読み、自分のプログラムを見直した。
以前の記事(『XML Hacks』を読む)に記した通り、XML+XSLT+PHPによるWebサイトの再構築を実現することができた。
トラフィック削減のため、PHPで生成しているXHTMLやCSSリソースを条件付きGET(conditional GET)に対応させた。条件付きGETとは、リクエストされたリソースとクライアントのキャッシュが一致すれば、サーバはレスポンスヘッダだけを返してリソースの内容を送信しない動作のことである。
「ホームページ」に興味を持って早6年になろうか。長く問題であったクロスブラウザはPHPを用いることで解決し、現状では納得のいくマークアップができている。細かな工夫の余地はまだあれど、XHTML+PHPによるWebサイトの構築という観点では一段落したようだ。Webサイトの構造、あるいはXHTML、PHPについてこの機会に振り返ってみたい。
gzip圧縮転送とは、ファイルを圧縮した状態で転送する技術のことである(元々圧縮されているファイルを転送することではない)。圧縮転送されたファイルはクライアントサイドで展開されるが、ユーザが圧縮や展開を意識することは通常ない(気づかない)。ファイルを圧縮するとファイルサイズが当然に減少するため、gzip圧縮転送を用いると転送量の削減が期待できる。
Webページにメールアドレスを記載すると、ほぼ例外なくspamが飛んでくることになろう。これまではメールアドレスを16進数の数値文字参照で記す、mailtoスキームを書かないなどの手段を講じていたが、それも気休めにすぎなかった。よくよく考えれば根本的なところを見落としており、全然解決になっていないと気づく。
PHPのエラーメッセージには、デバッグしやすいようにスクリプトの場所が含まれている。制作者にとっては役立つ情報だが、第三者が閲覧できる状態にするのは危険でもある。
この程、rhongomyniad.org/以下にあるページの一部がGoogleに捕捉された。以前はNotesの最新版であるrhongomyniad.org/notes/latest.htmlのみ捕捉されていたが、今回はNotes :: 2005年2月がHTTPリダイレクトを利用しない正式なURIで捕捉されている。これにより、「2005年2月分にあるキーワードに引っ掛かったのに、リンクを辿ると2005年3月分が表示された」という事態は避けられる。
先日、スタイルシート切り替えスクリプトを導入したばかりだが、ある方からご意見をいただいて熟考した結果、スタイルシートの切り替え自体を取り外すことに決めた。現状ではスタイルシートのオン・オフを切り替える飾りでしかなく、通常は必要ない。今後、選択できるスタイルシートを増やせば面白いかも知れないが、果たしてそれが必要な機能であるか考えると疑問が残る。
以前は、メールの簡易送信を可能にするFFPC-EasyMail Ver1.0(PHPスクリプト製作所)が問題なく動作していましたが、サーバのPHPバージョンが4.2.4から4.3.8に上がった辺りから、送信されるデータに文字化けが発生するようになりました。
HTTPレスポンスヘッダ(HTTP Response Header)とは、リクエストしたデータについてサーバから返される情報です。MIME typeやcharset(文字コード体系)といった情報がその一例です。HTML文書内に記述するmeta要素によってこれらの情報をコントロールできますが、多くの場合、この指定はHTTPレスポンスヘッダには影響せず、UAに対してのみ効果を持つようです。(HTTPレスポンスヘッダにmeta要素の指定を反映させられるサーバもあるそうです。)