Seite 1 von 1

Zeichensatz im HTTP-Header angeben

Verfasst: 17.07.2013, 19:40
von web334
Ich habe mal meine Seite (die Index.php) mit PAGE SPEED testen lassen und eigentlich schaut es ganz gut aus, aber mir wird folgendes vorgeschlagen:

Die folgenden Ressourcen haben in ihren HTTP-Headern keinen Zeichensatz angegeben.
Durch Angabe eines Zeichensatzes in HTTP-Headern kann die Browserdarstellung beschleunigt werden.


Dabei habe ich in der htaccess das folgendes stehen:
AddCharset utf-8 .html .php

und im Quelltext der Index.php steht

Code: Alles auswählen

<!DOCTYPE html>
<html dir="ltr" lang="de-DE">
<head>
<meta charset="utf-8"/>
<title>SG TSV/DJK Herrieden</title>
<meta name="description" content="Geboten werden Informationen zur SG TSV/DJK Herrieden mit ihren verschiedenen Abteilungen." />
<meta name="robots" content="index, follow" />
<link rel="shortcut icon" href="favicon.ico" />
<link rel="profile" href="http&#58;//gmpg.org/xfn/11" />
<link rel="stylesheet" href="style.css" />
</head>
<body>

Was muss ich denn tun, um den Vorschlag zu berücksichtigen und den Zeichensatz im HTTP-Header anzugeben?

Danke schon mal für eure Antworten

Verfasst:
von

Verfasst: 17.07.2013, 20:47
von mogli
Probier es mal mit <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>

<meta charset="utf-8"/> wird noch nicht von allen Tools etc. erkannt, weil es HTML5 ist.

Verfasst: 17.07.2013, 21:52
von xlb
... den Zeichensatz im HTTP-Header anzugeben?
Das in der htaccess sollte eigentlich reichen:

Code: Alles auswählen

AddCharset utf-8 .html .php
Allerdings liefert dein Server keinen entsprechend vollständigen Content-Type-Header. Statt ...

Code: Alles auswählen

Content-Type&#58; text/html; charset=utf-8
... liefert der Host nur ...

Code: Alles auswählen

Content-Type&#58; text/html
... ohne das Charset Encoding.

Du könntest in der htaccess für alle textbasierten Ressourcen UTF-8 global definieren:

Code: Alles auswählen

AddDefaultCharset utf-8

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 18.07.2013, 11:42
von web334
xlb hat geschrieben: Du könntest in der htaccess für alle textbasierten Ressourcen UTF-8 global definieren:

Code: Alles auswählen

AddDefaultCharset utf-8

so habe ich es gemacht. Nun passt es.

Vielen Dank euch beiden für eure Antwort

Verfasst: 18.10.2013, 10:30
von RolWg
Hallo zusammen,

ich habe jetzt
a) im head (1. Zeile)

Code: Alles auswählen

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
b) im head (später)

Code: Alles auswählen

<meta charset="utf-8"/>
c) in der .htaccess

Code: Alles auswählen

AddDefaultCharset utf-8
(ohne Spezifikation .php .html oder so)

d) alle Dateien sind unicode utf-8-codiert.

Trotzdem meckert Firebug/PageSpeed
"Die folgenden Ressourcen haben in ihren HTTP-Headern keinen Zeichensatz angegeben. Durch Angabe eines Zeichensatzes in HTTP-Headern kann die Browserdarstellung beschleunigt werden."

Was tun?
Dankbar für jeden Tipp.[/code]

Verfasst: 18.10.2013, 10:37
von RolWg
Ergänzung:

Gleichzeitig bemeckert Firebug/PageSpeed aber die Benennung des Character-Sets in einem meta tag:
"The following resources have a character set specified in a meta tag. Specifying a character set in a meta tag disables the lookahead downloader in IE8. To improve resource download parallelization, move the character set to the HTTP Content-Type response header."

?!?

Verfasst: 18.10.2013, 12:21
von Kristian
Hast du den HTTP-Header mal abgefragt?
Was steht den drin?

Ohne deine Domain zu kennen kann es ja keiner prüfen...

Verfasst: 18.10.2013, 20:35
von RolWg
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

HTTP/1.1 200 OK
Date: Fri, 18 Oct 2013 11:43:46 GMT
Server: Apache
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Last-Modified: Fri, 18 Oct 2013 11:43:46 GMT
Vary: Accept-Encoding
Content-Length: 17748
Keep-Alive: timeout=1, max=100
Connection: Keep-Alive
Content-Type: text/html

https://sabine-wils.eu/asbest.php

Verfasst: 18.10.2013, 20:54
von mogli
Nimm mal den Slash aus <meta charset="utf-8"/> heraus (ist ja sowieso doppelt gemoppelt, weil die a) XHTML angibst und b) meta charset eben HTML5 ist). Vielleicht hilft das.

Verfasst: 18.10.2013, 23:42
von elmex
Hi, also das sollte so aussehen:
HTTP/1.1 200 OK
Date: Fri, 18 Oct 2013 22:29:05 GMT
Server: Apache
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Length: 3026
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8
Und ja, Add(Default)Charset in der Apache Config ist dafür der richtige Weg, um das Charset in den HTTP Headern vom Apache zu senden. Wenn das bei dem verwendeten Server nicht klappt, ist das dann wohl ein Fall für den Serveradmin, wenn Du das selbst bist, prüfe ob die Options für diesen Host das setzen des Charsets zulassen (wobei ich gerade nicht weiß, zu welcher Options-Gruppe es gehört)

Verfasst: 19.10.2013, 10:21
von Kristian
@elmex
Es ist FileInfo

AddDefaultCharset-Direktive
Beschreibung: Standard-Charset-Parameter, der bei Antworten vom Content-Type text/plain oder text/html hinzugefügt wird
Syntax: AddDefaultCharset On|Off|Zeichenkodierung
Voreinstellung: AddDefaultCharset Off
Kontext: Serverkonfiguration, Virtual Host, Verzeichnis, .htaccess
AllowOverride: FileInfo
Status: Core
Modul: core

Verfasst: 19.10.2013, 10:22
von RolWg
Ja das mit dem Slash mache ich sobald ich nicht mehr mobil, sondern am Desktop bin. Beim Provider-Server wird das umständlicher - das ist All-Inkl.
Danke für den Input :-)

Verfasst: 19.10.2013, 12:41
von gerd_w
RolWg hat geschrieben:JBeim Provider-Server wird das umständlicher - das ist All-Inkl.
Bei All-Inkl sollte das ja kein Problem sein... Hab dort auch ein Hostingpaket am laufen und AddDefaultCharset in der .htaccess funktioniert problemlos. Einfach mal den Support kontaktieren wenn dies bei dir nicht funktioniert.