▼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コミット
つまり、WebEngine だけになるということです。 (WebEngineだけになるなら Falkonブラウザを使った方がいいと思います)

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

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

Qt4が出るか出ないかの頃のFAQでは、 KHTMLを捨てることはない(2007/10) ということでしたが、現実に QtWebEngine がリリースされると KHTMLは見放されてしまいました。 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$