[PHP] Compressie scriptje geeft geen zichtbare output weer

Pagina: 1
Acties:
  • 122 views sinds 30-01-2008
  • Reageer

Onderwerpen


  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
Beetje een heel raar probleem waar ik niet uitkom na gezocht te hebben op het internet en verschillende codes met elkaar vergeleken te hebben. Ik zie er compleet niets fout aan. Onderstaande scriptje word geincluded bovenaan elke pagina. onderaan de php pagina roep ik de gzdocout() aan. Hij zou dan als ik met Internet Explorer of Firefox de pagina bezoek toch gewoon die comments weergeven. Als ik met Telnet kijk of de pag gezipped word zegt hij "ja", maar ik kan nergens terugzien hoeveel de pagina nu gekrompen is en of de pagina nu ook daadwerkelijk wel gezipped is verstuurd. Iemand enig idee wat er fout gaat? Ik zie dit soort scriptjes overal op het web staan, waaronder op de php.net site, het schijnt daar allemaal te werken...

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
ob_start(); 
ob_implicit_flush(0); 
function CheckCanGzip(){ 
    global $HTTP_ACCEPT_ENCODING;    
    if (headers_sent() 
        ||
            connection_aborted()){ 
        return 0; 
    } 
    if (strpos($HTTP_ACCEPT_ENCODING, 'x-gzip') !== false) return "x-gzip"; 
    if (strpos($HTTP_ACCEPT_ENCODING,'gzip') !== false) return "gzip"; 


    return 0; 
} 
/* $level = compression level 0-9, 0=none, 9=max */
function gzdocout($level=9,$debug=1){ 
    $ENCODING = CheckCanGzip(); 
    if ($ENCODING){ 
        print "\n<!-- Use compress $ENCODING -->\n"; 
        $Contents = ob_get_contents(); 
        ob_end_clean(); 
        if ($debug){ 
            $s = $ENCODING; 
            $s .= "\n<!--<p>Not compress length: ".strlen($Contents)." -->\n"; 
            $s .= "\n<!--<br>Compressed length: ".strlen(gzcompress($Contents,$level)."-->");
            $Contents .= $s; 
      }
        header("Content-Encoding: $ENCODING");      
        print "\x1f\x8b\x08\x00\x00\x00\x00\x00"; 
        $Size = strlen($Contents); 
        $Crc = crc32($Contents); 
        $Contents = gzcompress($Contents,$level); 
        $Contents = substr($Contents, 0, strlen($Contents) - 4); 
        print $Contents; 
        print pack('V',$Crc); 
        print pack('V',$Size); 
        exit; 
    }else{ 
        ob_end_flush(); 
        exit; 
    } 
} 
?>

Station van Gerwin Prins op Apple Music


  • dbakker
  • Registratie: September 2002
  • Laatst online: 14-06-2024
$HTTP_ACCEPT_ENCODING

maak daar allereerst eens van:

$_SERVER['HTTP_ACCEPT_ENCODING']

edit:

Met onderstaande code (van phpBB) heb ik zelf nooit problemen gehad:

PHP:
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php 
   $phpver = phpversion(); 

   $useragent = (isset($_SERVER["HTTP_USER_AGENT"]) ) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT; 

   if ( $phpver >= '4.0.4pl1' && ( strstr($useragent,'compatible') || strstr($useragent,'Gecko') ) ) 
   { 
       if ( extension_loaded('zlib') ) 
       { 
           ob_start('ob_gzhandler'); 
       } 
   } 
   else if ( $phpver > '4.0' ) 
   { 
       if ( strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip') ) 
       { 
           if ( extension_loaded('zlib') ) 
           { 
               $do_gzip_compress = TRUE; 
               ob_start(); 
               ob_implicit_flush(0); 

               header('Content-Encoding: gzip'); 
           } 
       } 
   } 
?> 
Hier alle zooi 
<?php 
// Compress buffered output if required and send to browser 
if ( $do_gzip_compress ) 
{ 
   // 
   // Borrowed from php.net! 
   // 
   $gzip_contents = ob_get_contents(); 
   ob_end_clean(); 

   $gzip_size = strlen($gzip_contents); 
   $gzip_crc = crc32($gzip_contents); 

   $gzip_contents = gzcompress($gzip_contents, 9); 
   $gzip_contents = substr($gzip_contents, 0, strlen($gzip_contents) - 4); 

   echo "\x1f\x8b\x08\x00\x00\x00\x00\x00"; 
   echo $gzip_contents; 
   echo pack('V', $gzip_crc); 
   echo pack('V', $gzip_size); 
} 

exit; 
?>

[ Voor 89% gewijzigd door dbakker op 23-12-2004 08:22 ]


  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
phpfreaky schreef op donderdag 23 december 2004 @ 08:17:
$HTTP_ACCEPT_ENCODING

maak daar allereerst eens van:

$_SERVER['HTTP_ACCEPT_ENCODING']
Bedankt voor de tip, hier heb ik ook al mee zitten stoeien, ik was in de veronderstelling dat het zoals ik het had ook wel kon. Ik heb het nu veranderd, maar ik krijg onderaan de pagina waar in de functie aanroep niets qua output...

De code nu:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
ob_start(); 
ob_implicit_flush(0); 
function CheckCanGzip(){ 
    global $HTTP_ACCEPT_ENCODING;    
    if (headers_sent() 
        ||
            connection_aborted()){ 
        return 0; 
    } 
    if (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'x-gzip') !== false) return "x-gzip"; 
    if (strpos($_SERVER['HTTP_ACCEPT_ENCODING'],'gzip') !== false) return "gzip"; 


    return 0; 
} 
/* $level = compression level 0-9, 0=none, 9=max */
function gzdocout($level=9,$debug=1){ 
    $ENCODING = CheckCanGzip(); 
    if ($ENCODING){ 
        print "\n<!-- Use compress $ENCODING -->\n"; 
        $Contents = ob_get_contents(); 
        ob_end_clean(); 
        if ($debug){ 
            $s = $ENCODING; 
            $s .= "\n<!--<p>Not compress length: ".strlen($Contents)." -->\n"; 
            $s .= "\n<!--<br>Compressed length: ".strlen(gzcompress($Contents,$level)."-->");
            $Contents .= $s; 
      }
        header("Content-Encoding: $ENCODING");      
        print "\x1f\x8b\x08\x00\x00\x00\x00\x00"; 
        $Size = strlen($Contents); 
        $Crc = crc32($Contents); 
        $Contents = gzcompress($Contents,$level); 
        $Contents = substr($Contents, 0, strlen($Contents) - 4); 
        print $Contents; 
        print pack('V',$Crc); 
        print pack('V',$Size); 
        exit; 
    }else{ 
        ob_end_flush(); 
        exit; 
    } 
}

Station van Gerwin Prins op Apple Music


  • dbakker
  • Registratie: September 2002
  • Laatst online: 14-06-2024
Zie edit van m'n vorige post

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
Ik zie um, maar ik zoek toch echt iets dat gewoon kijkt of de browser de gzip of x-gzip ondersteund, dus niet de browserversie ofzo. Daarnaast zou ik graag willen weten hoeveel hij het bestandje nu kleiner gemaakt heeft door de eerste size af te vangen voordat hi hem zipt en daarna nogmaals te checken....

Onderstaande scriptje geeft ook niets terug:
PHP:
1
2
3
4
5
if(isset($_SERVER['HTTP_ACCEPT_ENCODING'])) {
    if(strpos('gzip',$_SERVER['HTTP_ACCEPT_ENCODING'])) {
        echo('gzip enabled! ');
    }
}


Ik wordt gek waar kan dat nu aan liggen?

Station van Gerwin Prins op Apple Music


  • dbakker
  • Registratie: September 2002
  • Laatst online: 14-06-2024
Gerwin schreef op donderdag 23 december 2004 @ 08:32:
...

Onderstaande scriptje geeft ook niets terug:
PHP:
1
2
3
4
5
if(isset($_SERVER['HTTP_ACCEPT_ENCODING'])) {
    if(strpos('gzip',$_SERVER['HTTP_ACCEPT_ENCODING'])) {
        echo('gzip enabled! ');
    }
}
Parameters van strpos staan nu verkeerd om :) :
PHP:
1
2
3
4
5
if(isset($_SERVER['HTTP_ACCEPT_ENCODING'])) {
    if(strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
        echo('gzip enabled! ');
    }
}

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
phpfreaky schreef op donderdag 23 december 2004 @ 08:35:
[...]

Parameters van strpos staan nu verkeerd om :) :
PHP:
1
2
3
4
5
if(isset($_SERVER['HTTP_ACCEPT_ENCODING'])) {
    if(strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
        echo('gzip enabled! ');
    }
}
Heb het veranderd, en ik krijg totaal niets terug van php... wat is dit nu voor nonsens :?

PHP:
1
2
3
4
5
6
7
8
9
10
11
<?

error_reporting  (E_ALL); 

if(!isset($_SERVER['HTTP_ACCEPT_ENCODING'])) {
    echo "blaat";
    if(strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
        echo('gzip enabled! ');
    }
}
?>


Leverd als output:
code:
1
2
blaat
Notice: Undefined index: HTTP_ACCEPT_ENCODING in /home/httpd/vhosts/***.nl/httpdocs/test.php on line 7


Lijkt verdorie nu wel dat de browser die gzip niet ondersteund ofzo.. Internet Explorer 6 doet dat toch gewoon en Firefox 1.0?

[ Voor 60% gewijzigd door Gerwin op 23-12-2004 09:23 ]

Station van Gerwin Prins op Apple Music


  • dbakker
  • Registratie: September 2002
  • Laatst online: 14-06-2024
Welke PHP versie draai je op je server?

Kijk eens of dit iets oplevert:

print_r($_SERVER);

  • TheLunatic
  • Registratie: April 2001
  • Laatst online: 16-08 21:48

TheLunatic

Ouwe boxen.

PHP:
1
2
3
<?
  echo($_SERVER["HTTP_ACCEPT_ENCODING"]);
?>


Wat levert dat voor output ?

Mother, will they like this song?


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 18:22
Beheer je zelf de server of draait ie op een bak waar je zelf niet aan kunt? In het eerste geval is het nml veel makkelijker om gewoon de zlib output compression in PHP aan te zetten en heb je al die gekke scripts niet meer nodig.

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
Ik draai PHP Version 4.3.8. Uit die print-R($_SERVER) rolt dit:

-----------
Array ( [UNIQUE_ID] => 7-tXhtWExSIAAFz8BSAAAAAA [HTTP_ACCEPT] => */* [HTTP_ACCEPT_LANGUAGE] => nl [HTTP________________] => ----- ------- [HTTP_USER_AGENT] => Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) [HTTP_HOST] => www.***.nl [HTTP_CONNECTION] => Keep-Alive [PATH] => /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin [SERVER_SIGNATURE] =>
Apache/2.0.40 Server at www.***.nl Port 80
[SERVER_SOFTWARE] => Apache/2.0.40 (Red Hat Linux) [SERVER_NAME] => www.***.nl [SERVER_ADDR] => 213.***.197.34 [SERVER_PORT] => 80 [REMOTE_ADDR] => 62.***.80.42 [DOCUMENT_ROOT] => /home/httpd/vhosts/***.nl/httpdocs [SERVER_ADMIN] => webmaster@***.nl [SCRIPT_FILENAME] => /home/httpd/vhosts/***.nl/httpdocs/test.php [REMOTE_PORT] => 2688 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => /test.php [SCRIPT_NAME] => /test.php [PHP_SELF] => /test.php [PATH_TRANSLATED] => /home/httpd/vhosts/***.nl/httpdocs/test.php [argv] => Array ( ) [argc] => 0 )
--------------

Station van Gerwin Prins op Apple Music


  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
TheLunatic schreef op donderdag 23 december 2004 @ 09:09:
PHP:
1
2
3
<?
  echo($_SERVER["HTTP_ACCEPT_ENCODING"]);
?>


Wat levert dat voor output ?
Notice: Undefined index: HTTP_ACCEPT_ENCODING in /home/httpd/vhosts/***.nl/httpdocs/test.php on line 16

[ Voor 10% gewijzigd door Gerwin op 23-12-2004 09:16 ]

Station van Gerwin Prins op Apple Music


  • TheLunatic
  • Registratie: April 2001
  • Laatst online: 16-08 21:48

TheLunatic

Ouwe boxen.

Lijkt er mij op dat 'ie de servervariabele HTTP_ACCEPT_ENCODING helemaal niet kent...

misschien wijs op uit deze post even, uit het tweede code-blok, de url te verwijderen... ik heb 'em niet bezocht (op m'n werk) maar de URL doet mij vermoeden dat ie niet aan de policy voldoet...

Mother, will they like this song?


  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
_JGC_ schreef op donderdag 23 december 2004 @ 09:11:
Beheer je zelf de server of draait ie op een bak waar je zelf niet aan kunt? In het eerste geval is het nml veel makkelijker om gewoon de zlib output compression in PHP aan te zetten en heb je al die gekke scripts niet meer nodig.
Ik heb een eigen server bij een hostingbedrijf draain en kan er in principe de opdracht tot geven iets aan de instellingen te veranderen. Die zlib staat zo op het moment kweenie of dat helpt:

code:
1
2
3
4
5
6
7
8
ZLib Support           enabled
Compiled Version    1.1.4
Linked Version      1.1.4

Directive                          Local Value  Master Value
zlib.output_compression          Off            Off
zlib.output_compression_level      -1             -1
zlib.output_handler              no value       no value


Gaat er ook een beetje om dat ik kan zien hoeveel kleiner de bestandjes worden door die compressie. Is het overigens niet zo dat als het nu niet werkt er toch ergens iets misgaat?

Station van Gerwin Prins op Apple Music


  • dbakker
  • Registratie: September 2002
  • Laatst online: 14-06-2024
TheLunatic schreef op donderdag 23 december 2004 @ 09:17:
Lijkt er mij op dat 'ie de servervariabele HTTP_ACCEPT_ENCODING helemaal niet kent...

misschien wijs op uit deze post even, uit het tweede code-blok, de url te verwijderen... ik heb 'em niet bezocht (op m'n werk) maar de URL doet mij vermoeden dat ie niet aan de policy voldoet...
De php manual zegt dit over de variabele HTTP_ACCEPT_ENCODING:

'HTTP_ACCEPT_ENCODING'
Contents of the Accept-Encoding: header from the current request, if there is one. Example: 'gzip'.

Je browser stuurt dus geen Accept-Encoding header terug. Ik vermoed dus geen gzip ondersteuning? De code van phpBB zou wel overigens wel moeten werken.

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
PHPfreaky ik heb hier de nieuwste versie van Firefox op mijn computer draaien en Internet Explorer 6 met alle updates ervan, beide zouden toch gewoon die dingen moeten sturen? Daarnaast zou die code mij toch gewoon een echo die achter de gzip dinges staat moeten weergeven?

Station van Gerwin Prins op Apple Music


  • eghie
  • Registratie: Februari 2002
  • Niet online

eghie

Spoken words!

Ik heb ff getest in ASP.NET, en hier geeft zowel IE 6 als Mozilla FireFox 1.0 wel gzip terug als accept_encoding.

Dit krijg ik terug:
gzip, deflate

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
Het grootste probleem ligt dus blijkbaar in mijn browsers.

Waar kan het aanliggen dat Firefox, Internet Explorer or Mozilla geen gzip sturen naar de server?

:?

Station van Gerwin Prins op Apple Music


Verwijderd

Compressie werkt alleen met HTTP 1.1

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
Verwijderd schreef op donderdag 23 december 2004 @ 21:27:
Compressie werkt alleen met HTTP 1.1
In Internet Explorer heb ik in de opties HTTP 1.1 aangevinkt. Bij Firefox en Mozilla zie ik nergens een optie HTTP 1.1 staan, die zouden toch standaard al 1.1 moeten gebruiken? Waarom sturen die browsers niet gewoon die header naar de server toe? Ik wordt gek!

Station van Gerwin Prins op Apple Music


  • Schonhose
  • Registratie: April 2000
  • Laatst online: 17-09 20:01

Schonhose

Retro Icoon

Gerwin schreef op donderdag 23 december 2004 @ 09:21:
[...]

code:
1
2
3
4
5
6
7
8
ZLib Support           enabled
Compiled Version    1.1.4
Linked Version      1.1.4

Directive                          Local Value  Master Value
zlib.output_compression          Off            Off
zlib.output_compression_level      -1             -1
zlib.output_handler              no value       no value
zlib.output_compression Off Off

Misschien dat deze aan moet staan?

* Schonhose doet een wilde gooi.

"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005


Acties:
  • 0 Henk 'm!

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
Schonhose, ik heb inmiddels een aantal andere tests gedraaid. Blijkt dat anderen wel de gzip krijgen. Mij is nog altijd een raadsel waarom ik die dan niet kan zien. Iemand wees me erop dat het spyware zou kunnen zijn op mijn computer. Daarom heb ik een spybit gedraaid deze kan niets vreemds vinden aan mijn computer. Daarnaast waren en ideeen dat het Service Pack 2 zou kunnen zijn. Iemand hier die dit kan bevestigen of ontkennen? Dus dat Service Pack 2 geen gzip headers meer laat meesturen? Als dat het geval zou zijn dan is dat wel heel erg belachelijk, bovendien blokkeerd Service Pack 2 dus ook de headers in Firefox dan.... idea's about this one?

Station van Gerwin Prins op Apple Music


Acties:
  • 0 Henk 'm!

  • eghie
  • Registratie: Februari 2002
  • Niet online

eghie

Spoken words!

Gerwin schreef op vrijdag 24 december 2004 @ 02:09:
Schonhose, ik heb inmiddels een aantal andere tests gedraaid. Blijkt dat anderen wel de gzip krijgen. Mij is nog altijd een raadsel waarom ik die dan niet kan zien. Iemand wees me erop dat het spyware zou kunnen zijn op mijn computer. Daarom heb ik een spybit gedraaid deze kan niets vreemds vinden aan mijn computer. Daarnaast waren en ideeen dat het Service Pack 2 zou kunnen zijn. Iemand hier die dit kan bevestigen of ontkennen? Dus dat Service Pack 2 geen gzip headers meer laat meesturen? Als dat het geval zou zijn dan is dat wel heel erg belachelijk, bovendien blokkeerd Service Pack 2 dus ook de headers in Firefox dan.... idea's about this one?
Ik ontken alles :P :+

Maar ik heb hier ook servicepack 2 en hier werken beide browsers gewoon. Ik heb de firewall wel uitstaan. :)

Probeer eens het volgende:
• Firewall uitzetten
• Browser instellingen op default zetten
• Scan eens voor spyware met Hitman Pro

Acties:
  • 0 Henk 'm!

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
Tis dus niet Service Pack 2, dat is erg mooi, ik vondt het zelf ook al een beetje raar klinken. :) Firewall was mijn eerste idee, dat heb ik al geprobeerd, en er waren geen veranderingen zichtbaar. Reden dat ik dit als eerste al geprobeerd had is omdat ik wel vaker tegen mijn Norton Firewall ben aangelopen omdat die dan toevallig een Privacy instelling had waardoor het juist niet ging zoals het zou moeten gaan. Internet Explorer en Firefox heb ik op de standaard instellingen getest, geen verandering zichtbaar. Ik zal eens scannen met die hitman....

Station van Gerwin Prins op Apple Music


Acties:
  • 0 Henk 'm!

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
Ik heb mijn hele computer door Hitman laten scannen, volgens mij heeft hij automatisch dingen veranderd en verwijderd. Probleem blijft echter bestaan. Lijkt er nog steeds op dat geen van mijn browsers de gzip naar de server stuurt.

Station van Gerwin Prins op Apple Music


Acties:
  • 0 Henk 'm!

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
Verder helemaal niemand een idee waarom mijn browsers geen gzip header meesturen?

Station van Gerwin Prins op Apple Music


Acties:
  • 0 Henk 'm!

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
*kick*

Station van Gerwin Prins op Apple Music


Acties:
  • 0 Henk 'm!

  • eghie
  • Registratie: Februari 2002
  • Niet online

eghie

Spoken words!

Werkt het op andere servers ook niet?

Acties:
  • 0 Henk 'm!

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
eghie schreef op maandag 27 december 2004 @ 15:09:
Werkt het op andere servers ook niet?
Nee, ik heb op verschillende servers gecontroleerd, waaronder verschillende sites die je laten controleren welke headers je browser meestuurd. Geen van allen geeft aan dat er een gzip header door Internet Explorer of Firefox van mijn computer wordt meegestuurd.

Station van Gerwin Prins op Apple Music


Acties:
  • 0 Henk 'm!

Verwijderd

Gerwin schreef op maandag 27 december 2004 @ 16:56:
[...]

Nee, ik heb op verschillende servers gecontroleerd, waaronder verschillende sites die je laten controleren welke headers je browser meestuurd. Geen van allen geeft aan dat er een gzip header door Internet Explorer of Firefox van mijn computer wordt meegestuurd.
De volgende header wordt bij mij verstuurd:

Accept-Encoding gzip, deflate

Dit kan dus "gzip" zijn of "deflate".

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:31

gorgi_19

Kruimeltjes zijn weer op :9

Geen idee of het relevant is, maar kijk eens naar http://support.microsoft....spx?scid=kb;en-us;Q313712 en vergelijk de output :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • MacWebber
  • Registratie: September 2000
  • Niet online
Dat gaat volgens mij alleen over IE5.5

Kan het niet zijn dat je een proxy server gebruikt? Die werken volgens mij met het HTTP/1.0 protocol en dus zonder compressie.

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 17:31

gorgi_19

Kruimeltjes zijn weer op :9

MacWebber schreef op dinsdag 28 december 2004 @ 10:53:
Dat gaat volgens mij alleen over IE5.5
Ook IE6 heeft er last van :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • mouse256
  • Registratie: Mei 2003
  • Laatst online: 30-12-2024
probeer voor mozilla eens livehttpheaders: http://livehttpheaders.mozdev.org/ . Dan kan je zien of mozilla toch al de regel "Accept-Encoding: gzip,deflate" stuurt (bij mij stuurt hij deze regel)

Acties:
  • 0 Henk 'm!

Verwijderd

waarom ga je alles handmatig controleren en gzippen?
ob_gzhandler() is intended to be used as a callback function for ob_start() to help facilitate sending gz-encoded data to web browsers that support compressed web pages. Before ob_gzhandler() actually sends compressed data, it determines what type of content encoding the browser will accept ("gzip", "deflate" or none at all) and will return its output accordingly. All browsers are supported since it's up to the browser to send the correct header saying that it accepts compressed web pages.
zie hier
dat werkt bij mij automagisch...
en als er dan niet ge-gzipt wordt is dat de fout van de client

[ Voor 75% gewijzigd door Verwijderd op 28-12-2004 12:10 ]


Acties:
  • 0 Henk 'm!

  • Ganja-Cape
  • Registratie: Maart 2001
  • Laatst online: 20-09 09:41
Gerwin schreef op donderdag 23 december 2004 @ 22:03:
[...]


In Internet Explorer heb ik in de opties HTTP 1.1 aangevinkt. Bij Firefox en Mozilla zie ik nergens een optie HTTP 1.1 staan, die zouden toch standaard al 1.1 moeten gebruiken? Waarom sturen die browsers niet gewoon die header naar de server toe? Ik wordt gek!
Type als adres "about:config" en dan zoeken naar "network.http.version" maar die staat inderdaad default op 1.1, dus dat zal het ook wel niet zijn :P

Acties:
  • 0 Henk 'm!

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
gorgi_19 schreef op dinsdag 28 december 2004 @ 10:00:
Geen idee of het relevant is, maar kijk eens naar http://support.microsoft....spx?scid=kb;en-us;Q313712 en vergelijk de output :)
Ik heb het doorgelezen, maar het probleem bestaat ook bij Firefox...
mouse256 schreef op dinsdag 28 december 2004 @ 11:20:
probeer voor mozilla eens livehttpheaders: http://livehttpheaders.mozdev.org/ . Dan kan je zien of mozilla toch al de regel "Accept-Encoding: gzip,deflate" stuurt (bij mij stuurt hij deze regel)
Ik heb dat proggie gedownload en hij geeft wel aan dat de headers verstuurd worden, er moet dus ergens iets tussen zitten dat die gzip blokkeerd zodat het bij de websiteserver niet aankomt. Ik heb zitten denken dat het mijn Linxsys routertje zou kunnen zijn, maar dat moet toch voor de gzip niet uitmaken? Ik kan daarin ook geen optie vinden wat ook maar iets met gzip te maken zou kunnen hebben.
Verwijderd schreef op dinsdag 28 december 2004 @ 12:03:
waarom ga je alles handmatig controleren en gzippen?

[...]

zie hier
dat werkt bij mij automagisch...
en als er dan niet ge-gzipt wordt is dat de fout van de client
Dat automatisch doen kan altijd nog en is uiteindelijk ook misschien wel de bedoeling, maar het probleem wat ik zo-wie-zo wel eens wil weten is waarom mijn browser blijkbaar niet helemaal naar de server kan sturen. Ik wil eigenlijk een soort van stats bijhouden hoeveel het nu bespaard, en dat kan niet als de server die dingen allemaal zelf al verstuurd.
Ganja-Cape schreef op dinsdag 28 december 2004 @ 12:14:
[...]


Type als adres "about:config" en dan zoeken naar "network.http.version" maar die staat inderdaad default op 1.1, dus dat zal het ook wel niet zijn :P
Firefox staat hier gewoon 1.1 :) Toch bedankt...

Station van Gerwin Prins op Apple Music


Acties:
  • 0 Henk 'm!

  • MarkvE
  • Registratie: Maart 2004
  • Laatst online: 30-01 17:16
Misschien eens een format c:?
Modbreak:Zo zonder duidelijke beargumentatie is dit een vrij nutteloze en loze opmerking :)

[ Voor 74% gewijzigd door gorgi_19 op 29-12-2004 09:26 ]

Vormkracht10


Acties:
  • 0 Henk 'm!

Verwijderd

Gerwin schreef op dinsdag 28 december 2004 @ 21:25:
[...]

Dat automatisch doen kan altijd nog en is uiteindelijk ook misschien wel de bedoeling, maar het probleem wat ik zo-wie-zo wel eens wil weten is waarom mijn browser blijkbaar niet helemaal naar de server kan sturen. Ik wil eigenlijk een soort van stats bijhouden hoeveel het nu bespaard, en dat kan niet als de server die dingen allemaal zelf al verstuurd.
Daar komt de aap uit de mouw.
Als je Apache gebruikt zou je de compressie over kunnen laten aan Apache met de mod_deflate-module.
Je kan dan in de logs onder meer de compressie ratio laten wegschrijven.

Dit neemt niet weg dat de vraag blijft staan waarom de Accept-Encoding header niet bij de server aankomt.

Acties:
  • 0 Henk 'm!

  • MarkvE
  • Registratie: Maart 2004
  • Laatst online: 30-01 17:16
MarkvE schreef op dinsdag 28 december 2004 @ 22:55:
Misschien eens een format c:?
Modbreak:Zo zonder duidelijke beargumentatie is dit een vrij nutteloze en loze opmerking :)
Alle default settings heb je dan weer terug van IE 6.0 en je besturingsysteem. En dan zal het vrijwel zeker moeten werken, aangezien dit gewoon wordt ondersteund door IE. Maar aangezien je het ook bij Mozilla hebt, zal er wel een instelling zijn in je besturingssysteem of een programma dat dit belemmert.

Vormkracht10


Acties:
  • 0 Henk 'm!

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
Verwijderd schreef op dinsdag 28 december 2004 @ 23:49:
[...]

Daar komt de aap uit de mouw.
Als je Apache gebruikt zou je de compressie over kunnen laten aan Apache met de mod_deflate-module.
Je kan dan in de logs onder meer de compressie ratio laten wegschrijven.

Dit neemt niet weg dat de vraag blijft staan waarom de Accept-Encoding header niet bij de server aankomt.
Alles draaid nu prima op de server, ik was een beetje aan het experimenteren met die gzip functie, en daarbij liep ik tegen het probleem op dat ik zelf helemaal geen gzip header bij de server krijg terwijl hij deze wel stuurt. Als ik zelf het probleem heb opgelost en gevonden met die headers dan ga ik me in die php module zeker inlezen. Heel interessant, voorals als je een duidelijk overzichtje krijgt wat er nu daadwerkelijk bespaard is... want daar doen we het tenslotte in deze woelige tijden voor ;)

MarkvE ik heb na aanleiding van je post het hier toch eens op een andere computer getest of die nu ook daadwerkelijk wel de gzip header bij de server krijgt. Deze krijgt het ook niet voor elkaar waaruit ik de conclusie trekt dat er iets tussen de computers zit wat dit tegenhoud. Iemand die kan bevestigen of ontkennen dat dit mijn Linksys routertje kan zijn? Ik heb hier zelf al eens in de configuratie gekeken maar termen als "compressie" zie ik daar niet, dat zou toch ook niets uit moeten maken voor een router? Anyway, ik wil die eerst graag uitgesloten hebben... Ik kan natuurlijk wel alles gaan formateren (en alle toestanden die daar bij komen kijken) bij elke fout die ik tegenkom, maar als ik daarmee en het probleem niet zeker oplos, en nooit zal weten waar het aan ligt dan schiet het niet op.

[ Voor 9% gewijzigd door Gerwin op 29-12-2004 19:07 . Reden: typfoutjes verbeterd ]

Station van Gerwin Prins op Apple Music


Acties:
  • 0 Henk 'm!

Verwijderd

En als je op localhost connect naar een (web)server?

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
Verwijderd schreef op woensdag 29 december 2004 @ 21:41:
En als je op localhost connect naar een (web)server?
Ik begrijp niet goed wat je bedoeld. Je wilt dat ik lokaal een webserver opvraag? Doe ik dat altijd al niet via een browser? En een webserver lokaal opvragen gaat zoiets wel? Ik kan bijvoorbeeld ook niet lokaal mijn webpagina opvragen, die staat op die server (niet locaal dus). Hoe zou ik zoiets moeten aanpakken om te controleren?

Station van Gerwin Prins op Apple Music


Acties:
  • 0 Henk 'm!

Verwijderd

Gerwin schreef op woensdag 29 december 2004 @ 19:05:
[...]
Deze krijgt het ook niet voor elkaar waaruit ik de conclusie trekt dat er iets tussen de computers zit wat dit tegenhoud. Iemand die kan bevestigen of ontkennen dat dit mijn Linksys routertje kan zijn?
dat is het _zeker_ niet, je routertje gaat niet op http-protocol-niveau filteren, dan had hij veel meer gekost ;).

heb je al gekeken bij FireFox z'n about:config en dan het kopje "network.http.accept-encoding"?
(kon ik hier zo snel ff niet terugvinden of je dat al had gedaan)
daar staat bij mij "gzip,deflate" als waarde
misschien is die setting bij jou leeg/niet aanwezig?

het kan ook zijn dat je last hebt van een transparante proxy bij je internet provider.
die worden vaak gebruikt om de bandbreedte kosten van de ISP te drukken.

[ Voor 13% gewijzigd door Verwijderd op 31-12-2004 13:35 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Die else gaat zo toch nooit werken een } teveel

Acties:
  • 0 Henk 'm!

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
Verwijderd schreef op vrijdag 31 december 2004 @ 13:18:
[...]


dat is het _zeker_ niet, je routertje gaat niet op http-protocol-niveau filteren, dan had hij veel meer gekost ;).

heb je al gekeken bij FireFox z'n about:config en dan het kopje "network.http.accept-encoding"?
(kon ik hier zo snel ff niet terugvinden of je dat al had gedaan)
daar staat bij mij "gzip,deflate" als waarde
misschien is die setting bij jou leeg/niet aanwezig?

het kan ook zijn dat je last hebt van een transparante proxy bij je internet provider.
die worden vaak gebruikt om de bandbreedte kosten van de ISP te drukken.
Ik had al gecontroleerd of ik die setting had, ik heb zelf daar nooit iets aan veranderd en de setting stond gewoon "gzip, deflate" als waarde, dat kan het dus niet zijn. Ik had ook al met dat programma van een paar posts terug gecontroleerd of er daadwerkelijk gzip headers verstuurd worden van mijn computer. Dat was wel het geval, alleen lijken die headers op de één of andere manier niet bij de webserver te komen, want daar is de header verdwenen. Nog suggesties, tis dus zeker niet mijn Router.... hoe kan ik controleren of ik een transparante proxy heb? Ik heb wel gewoon een vast ip-adres, wat heeft zo'n proxy nu voor nut om de bandbreedte te beperken als ze mij geen gezipte dingen laten binnenhalen...? gzip is toch veel kleiner?

Station van Gerwin Prins op Apple Music


Acties:
  • 0 Henk 'm!

  • MacWebber
  • Registratie: September 2000
  • Niet online
Dat wel, maar omdat proxies door verschillende gebruikers met verschillende browsers worden benaderd, wil je daar geen formaat op slaan wat niet door alle browsers wordt ondersteund.

Acties:
  • 0 Henk 'm!

  • jvdmeer
  • Registratie: April 2000
  • Laatst online: 10:05
Zoek eens op ieHttpHeaders. dan zie je zowel de inkomende als uitgaande headers. Kan je constateren of die encoding wel/niet wordt verstuurd.

Acties:
  • 0 Henk 'm!

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
jvdmeer schreef op zaterdag 01 januari 2005 @ 17:15:
Zoek eens op ieHttpHeaders. dan zie je zowel de inkomende als uitgaande headers. Kan je constateren of die encoding wel/niet wordt verstuurd.
Zoals ik eerder al zei, de headers worden wel door mijn browser verstuurd, de data gaat vervolgens door ee Linksys routertje en als ik vervolgens op een website mijn headers laat afvangen staat er geen header met gzip meer bij. Zou dat dan echt die proxy zijn, ik heb nog nooit gehoord dat ze bij mijn provider (HCCnet) die dingen gebruiken, dan zou ik toch ook altijd een proxy ip moeten hebben? Ik heb een eigen vast ip nummer. Is er een manier dat ik kan controleren dat het een proxy hebt waar over gespoken wordt?

Station van Gerwin Prins op Apple Music


Acties:
  • 0 Henk 'm!

Verwijderd

Gebruik eens phpinfo() en kijk wat er in de output bij HTTP_VIA staat, als daar iets staat gebruik je een proxy server, voor de naam staat de HTTP versie 1.0 of 1.1, als er ergens in de lijst 1.0 staat gaat compressie dus niet werken via die verbinding.
bij mij bijvoorbeeld: 1.1 DEFAULT, 1.0 proxzilla3.xs4all.nl:8080 (squid/2.5.STABLE7)

Acties:
  • 0 Henk 'm!

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
Verwijderd schreef op zondag 02 januari 2005 @ 05:10:
Gebruik eens phpinfo() en kijk wat er in de output bij HTTP_VIA staat, als daar iets staat gebruik je een proxy server, voor de naam staat de HTTP versie 1.0 of 1.1, als er ergens in de lijst 1.0 staat gaat compressie dus niet werken via die verbinding.
bij mij bijvoorbeeld: 1.1 DEFAULT, 1.0 proxzilla3.xs4all.nl:8080 (squid/2.5.STABLE7)
In de lijsten waar ik kijk (bijmezelf, en met phpinfo's elders op het web). Zie ik helemaal geen optie HTTP_VIA staan...

Station van Gerwin Prins op Apple Music


Acties:
  • 0 Henk 'm!

  • iH8
  • Registratie: December 2001
  • Laatst online: 17-06-2024

iH8

Gerwin schreef op dinsdag 04 januari 2005 @ 11:11:
[...]


In de lijsten waar ik kijk (bijmezelf, en met phpinfo's elders op het web). Zie ik helemaal geen optie HTTP_VIA staan...
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?

if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {

     if ($_SERVER['HTTP_X_FORWARDED_FOR']) { 

          ?>
          Proxy Detected...<br>
          Your Actual IP Address: <?= $_SERVER['HTTP_X_FORWARDED_FOR'] ?><br>
          Your Proxy Server: <?= $_SERVER['HTTP_VIA'] ?><br>
          Your Proxy I.P address: <?= $_SERVER['REMOTE_ADDR'] ?><br>
          <?

          }

}

else { 

     ?>
     No Proxy Detected<br>
     Your Actual IP Address: <?= $_SERVER['REMOTE_ADDR'] ?><br>
     <?

} 

?>


high anonimity proxys zoals sommige squids zenden niet eens forwarded_for en http_via waardes door dus dan heb je nog niets of een error.

[ Voor 78% gewijzigd door iH8 op 04-01-2005 12:44 . Reden: ff goede global gebruikt :) ]

Aunt bunny is coming to get me!


Acties:
  • 0 Henk 'm!

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
iH8 schreef op dinsdag 04 januari 2005 @ 12:10:
[...]


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?

if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {

     if ($_SERVER['HTTP_X_FORWARDED_FOR']) { 

          ?>
          Proxy Detected...<br>
          Your Actual IP Address: <?= $_SERVER['HTTP_X_FORWARDED_FOR'] ?><br>
          Your Proxy Server: <?= $_SERVER['HTTP_VIA'] ?><br>
          Your Proxy I.P address: <?= $_SERVER['REMOTE_ADDR'] ?><br>
          <?

          }

}

else { 

     ?>
     No Proxy Detected<br>
     Your Actual IP Address: <?= $_SERVER['REMOTE_ADDR'] ?><br>
     <?

} 

?>


high anonimity proxys zoals sommige squids zenden niet eens forwarded_for en http_via waardes door dus dan heb je nog niets of een error.
Uit dit scriptje van je rolt dit:

code:
1
2
No Proxy Detected
Your Actual IP Address: 62.251.***.***


Heb ik dus ook niets aan. Het kan dus geen router zijn, tis geen proxy, hoe kan het dan dat bij servers de gzip header niet aankomt als deze wel verstuurd wordt door mijn browser(s) (Firefox 1.0 en Internet Explorer 6)? Iemand die bij HCCnet heeft met hetzelfde probleem of weet of ze daar zo'n geheime proxy hebben? Ik heb dit probleem nooit eerder gehad moet ik zeggen, voor zover ik wist heb ik altijd gzip headers gehad, maar nu ik bezig ben kom ik erachter dat dat (blijkbaar altijd) dus niet het geval geweest is? Mensen met hetzelfde probleem bij andere providers?

:?

[ Voor 21% gewijzigd door Gerwin op 05-01-2005 01:07 ]

Station van Gerwin Prins op Apple Music


Acties:
  • 0 Henk 'm!

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 10-02 23:00
Ik heb niet de complete topic gelezen, maar probeer eens de webserver op een 2e onbekende poort (1234 ofzo) te laten luisteren. Die wordt iig niet door een proxy server gehaald lijkt me :) ?

Acties:
  • 0 Henk 'm!

  • Gerwin
  • Registratie: Juli 2001
  • Laatst online: 08-06 20:10

Gerwin

Ik ben er klaar voor!

Topicstarter
Ik heb vanalles geproebeert, die onbekende poort heeft niets uitgehaald. De servers op het web krijgen op de één of andere manier mijn gzip header niet.

Station van Gerwin Prins op Apple Music

Pagina: 1