Bug 169523

Summary: site displays completely wrong (konq3, firefox, etc work fine)
Product: [Applications] konqueror Reporter: Mihai RUSU <dizzy>
Component: generalAssignee: Konqueror Developers <konq-bugs>
Severity: normal CC: andresbajotierra, maksim
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:

Description Mihai RUSU 2008-08-21 10:03:51 UTC
Version:           4.1.00 (using KDE 4.1.0)
Compiler:          gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.1) 
OS:                Linux
Installed from:    Gentoo Packages


I have just noticed that a site I often use "www.monosit.ro" has changed the design and does not display correctly on konqueror4. If I try to display it with firefox3 or konqueror3 it looks fine. I asked some people on freenode/#kde to confirm this and they also confirmed the same behavior.

Please help, thanks!
Comment 1 Dario Andres 2008-08-21 14:06:35 UTC
Using KDE 4.1.1 (KDE 4.1.0 (4.1 >= 20080722)) (KDEmod) in ArchLinux i686:
I can confirm this. Seems like the CSS isn't loaded.
Comment 2 Maksim Orlovich 2008-08-21 16:59:12 UTC
For some reason we get mimetype as ":", which isn't a valid stylesheet mimetype
and hence gets it ignored in strict mode. The server doesn't send anything (bad server!)
Comment 3 Maksim Orlovich 2008-08-21 17:00:54 UTC
Oh, actually is does:
Content-Type: :
so KIO is right here. Now I need to figure out whether other browsers 
are parsing this differently (hmm, may be via XHR?), or if something can override the mimetype check...

Comment 5 Mihai RUSU 2008-08-22 09:03:21 UTC
Thanks for the workaround. So you are saying that tho the css files are php documents (so their contents is probably dynamically generated) they should still come with Content-Type: text/css right? I suppose they need to use header() PHP function or something similar :)
Comment 6 Maksim Orlovich 2008-08-22 16:49:22 UTC
You're welcome. 

And yes, stylesheets served to web pages in strict mode have to have the mimetype text/css, or no mimetype at all. Thing is, the server actually sends a malformed content-type header altogether.

That it's PHP on the server end doesn't matter, since content-type describes the type of the data we get / how we should handle it --- it makes no difference to the displaying application if it was hand-coded or generated by PHP or Perl or Rails, or ASP or whatever.