▼Konqueror 5.0.97▼

KDE5 (K Desktop Environment 5) に付属しているブラウザ。 Konqueror といえば KHTMLレンダリングエンジン!と言いたい所なのですが… (2020/07/24)

[Konqueror 5.0.97 about画面]

Qt5に移植されたKonquerorでは、HTMLエンジンとしてKHTMLと、 Qt5から新しく提供されたWebEngineウィジェットを選ぶことができます。
[KHTMLか、WebEngineかを選べる]

で、ディストリビューションにもよると思いますが、デフォルトが Qt WebEngine になっているものもあって(EPEL8がそうなっています)、 Konqueror を使っているのにKHTMLエンジンじゃないものを使わされている! 場合もあります。

現実問題として、Qt5に移植されたKHTMLエンジンは、

という致命的な欠陥を抱えたままリリースされていて、現実的には使い物になりません。 バグ報告とパッチ案 は出したんですが、直される確率は低そうです…

というのも、KDE5 以降におけるKHTMLの扱いは低くなっているというか、 捨てられる方向にあるからです。

Qt4まではKDEがベースとしているQtツールキットにHTMLレンダリングエンジンが 無かったので、KDEが開発したKHTMLウィジェットが色々なところで使われていた のですが、 Qt5 になって WebEngine という Chromium ベースのウィジェットが 新たに提供されるようになりました。 じゃあそっちを使おう、KHTML は使わない方向に持っていこう、という 風潮になっているからです。

https://www.volkerkrause.eu/2019/10/12/kf6-road-to-kde-frameworks6.html

Andreas has ported Step, Kalzium and Parley away from KHTML, and Sune has started to do the same for KHelpCenter. We also got rid of quite a few uses of KHTML in Konqueror, only the about screen is remaining there now.
https://www.phoronix.com/scan.php?page=news_item&px=KDE-Frameworks-6-December-2019
moving more code off KHTML

とどめは、新しいKonqueror 自身がKHTMLを使うのを止めてしまいました。 2020/01/06のKonquerorのgitコミット

いくらChromiumがKHTMLの子孫だとはいえ、Chromiumは劇重(20倍くらい遅い)で、 CPUの機能にSSE2も必要としています。 Google製のChromiumに縛られたKonquerorでは、 about画面のBe Free.のスローガンが空虚に見えます。

現実的には、HTMLエンジンを保守していくというのは ものすごく大変な仕事なので、QtがWebEngineを用意してくれるのなら 開発力をよそに割こう、という考えは分からなくもありません。

Qt4が出るか出ないかの頃のFAQでは、 KHTMLを捨てることはない(2007/10) ということでしたが、現実に QtWebEngine がリリースされると KHTMLは見放されてしまいました。 KHTMLというレンダリングエンジンが消えていってしまうのは残念でなりません。

(2020.11) Fedora 33 の Konqueror 20.08.1 を CentOS 8.2 でむりやりコンパイルして 動かしてみましたが、 まだ KHTML は使える状態になっているようです。 ただ、デフォルトは WebEngine だし、 Fedora KDE Spin では Konqueror は捨てられて Falkon ブラウザが標準になっているので、 KHTMLを使う人は減る一方になってしまうでしょう。


機能表
Table 3.0
Stylesheet
JavaScript
Cookie
マルチウィンドウ
日本語
UTF-8
PNG
HTTPS TLS1.3
* KHTML レンダリングエンジンの場合:
GET /path HTTP/1.1
Host:host
Connection:keep-alive
User-Agent:Mozilla/5.0 (X11; Linux i686) KHTML/5.59.0 (like Gecko) Konqueror/5 KIO/5.59
Accept:text/html, text/*;q=0.9, image/jpeg;q=0.9, image/png;q=0.9, image/*;q=0.9, */*;q=0.8
Accept-Encoding:gzip, deflate, x-gzip, x-deflate
Accept-Charset:utf-8,*;q=0.5
Accept-Language:ja-JP,en;q=0.9
* Qt WebEngineの場合:
GET /path HTTP/1.1
Host:host
Connection:keep-alive
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.12.4 Chrome/69.0.3497.128 Safari/537.36 Konqueror (WebEnginePart)
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding:gzip, deflate
なぜかAccept-Charset, Accept-Languageが無い

$Id$