Newsgroups: php.general,php.internals Path: news.php.net Xref: news.php.net php.general:325700 php.internals:95471 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 57748 invoked from network); 28 Aug 2016 00:51:21 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 Aug 2016 00:51:21 -0000 Authentication-Results: pb1.pair.com smtp.mail=rene.veerman.netherlands@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=rene.veerman.netherlands@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.179 as permitted sender) X-PHP-List-Original-Sender: rene.veerman.netherlands@gmail.com X-Host-Fingerprint: 209.85.220.179 mail-qk0-f179.google.com Received: from [209.85.220.179] ([209.85.220.179:33595] helo=mail-qk0-f179.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 07/0D-34481-88532C75 for ; Sat, 27 Aug 2016 20:51:20 -0400 Received: by mail-qk0-f179.google.com with SMTP id z190so109457988qkc.0; Sat, 27 Aug 2016 17:51:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=1xZD7vTtTgWGWcC/+NE6PCiA97xXykbpmWWKYoA8T8g=; b=UD6/TwDGRHgYOMu1fNJ7NDNF3dSVsLr/NUU0+P4zKXDIYsZhe8z97WfoRTFSAIrzHC ZKY+GRyDx3kLCNUX6aG9ob9tnn3e6IFp1ANHeSWBa7yQgCFuae2e4ZKJt4/WmQFYR39i IGx5edZMhNMJtpCf09UbAu0JKuTbOSMhPtq7fX0XCh0L6B04DihWazPQ9wDh/jDpjOpO Lpy/W0km/5in8jbpIa382E8BNC6mf+yIqN+sdZkQTjQ+07Z8gCIzPgY3do+OkT6ZaCRd rzNijCx1HDg/HZF7A+OZtxRU/eftsZ1AlEDjx2XsO34U5LbHk1y1ZmRlIqZtKI+9xRzI JVCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=1xZD7vTtTgWGWcC/+NE6PCiA97xXykbpmWWKYoA8T8g=; b=TmhRCFHLP7z4HlXVT/IlaVUSnkN8jmIBHispQrwJH0DJ8EnAIGSn/CklYT1mjH+64G uCsdnR4VlvgSODsF29e84h3r2eEA+Ddjlv1xhF+bgbi8agxsnBm/BgQaPVLWfuoLDlSy SMy12A4r8SN67H/cs3SFYGJhG6Py0qYvpjZMt8qQXetYke3j6GrKByadoZg2EIENYo65 mJsiIZy6aRp4poybaz4vnBrpY1YFqeqeDDwRm7e6VexVDui9+ik0KviYsGJ3J8B0yC0Y RWlK65hwQjsLANyEzXbWeQa2PNFf6vl5E8QYXvoA9ZPIiD6g1d7mOilgYiuci/WqxzZA ReCg== X-Gm-Message-State: AE9vXwOicb5sbzfeUEUwck4C1Q+uF7DXW3HA682wEJjCmJfthbwUgcJjyS1s9xwcxKCk6H7GgbjtRCQ/aOYl0A== X-Received: by 10.55.153.68 with SMTP id b65mr4881397qke.10.1472345477573; Sat, 27 Aug 2016 17:51:17 -0700 (PDT) MIME-Version: 1.0 Received: by 10.200.52.68 with HTTP; Sat, 27 Aug 2016 17:50:56 -0700 (PDT) In-Reply-To: References: <5E615A59-AC2B-455F-9438-D295419F3767@ashleysheridan.co.uk> <33E6F0A8-A14B-4590-A18C-FF6D6E029D0A@gmail.com> <3B285FFA-4C62-421D-A5B5-E5F205C53C02@gmail.com> Date: Sun, 28 Aug 2016 02:50:56 +0200 Message-ID: To: Aziz Saleh Cc: Ashley Sheridan , Joshua Kehn , "php-general@lists.php.net" , internals@lists.php.net Content-Type: multipart/alternative; boundary=94eb2c07e5b62d7155053b1725f1 Subject: Re: [PHP] feature request : gzip caching From: rene.veerman.netherlands@gmail.com (Rene Veerman) --94eb2c07e5b62d7155053b1725f1 Content-Type: text/plain; charset=UTF-8 500Kb of the JS is my framework (which does a lot, you can see it when the new encryption is done..).. another 500Kb is things like the full sourcecode for jQuery.. so thanks, i'll use the minified jQuery in the next update.. :) On Sun, Aug 28, 2016 at 2:45 AM, Aziz Saleh wrote: > > > On Sat, Aug 27, 2016 at 8:37 PM, Ashley Sheridan > wrote: > >> >> >> On 28 August 2016 01:31:50 BST, Rene Veerman < >> rene.veerman.netherlands@gmail.com> wrote: >> >On Sat, Aug 27, 2016 at 9:36 PM, Joshua Kehn >> >wrote: >> > >> >> Apache handles gzipping just fine. http://httpd.apache.org/ >> >> docs/current/mod/mod_deflate.html >> >> >> >> and my PHP handles static file serving only when needed, when >> >evaluating >> >> content and js for specific URLs >> >> >> >> >> >> I'm not sure why that would be required. Why doesn't the HTML >> >reference >> >> the assets required directly? >> >> >> > >> > >> >that would result in *way* too many HTTP requests dude ;) >> > >> You're doing it wrong >> >> >i'm thinking i evaluate what URL is called up in PHP, figure out what >> >cache >> What's wrong with front end evaluating what js it needs to request, like >> angular or react does? >> >files are needed (i now use multiple stages of cache files for some >> >stuff >> >like the main HTML template), and output a new "master cache file" that >> >is >> >a file that gets called up rather quickly with readfile() after a >> >file_exists(translateURLtoFilesystempath($untranslatedContentURL)) to >> >see >> >if regeneration for any particular URL is needed.. >> > >> >public function translateURLtoFilesystempath ($url) { >> > $r = $url; >> > $r = str_replace('/','---',$r); >> > $r = str_replace('?','-_-',$r); >> > $r = str_replace('&','__-',$r); >> > $r = str_replace('=','___',$r); >> > return '--_'.$r; >> >} >> >public function translateFilesystempathToURL ($path) { >> > $r = preg_replace ('#.*--_#', '', $path); >> > $r = str_replace('---','/',$r); >> > $r = str_replace('-_-','?',$r); >> > $r = str_replace('__-','&',$r); >> > $r = str_replace('___','=',$r); >> > return $r; >> >} >> > >> > >> > >> > >> >> >> >> and for noobish developers it might be very convenient to add this to >> >php >> >> readfile() afterall >> >> >> >> >> >> Convenient and right are often two different ways to solve a problem. >> >I >> >> try to not offer convenient solutions that are not right. >> >> >> > >> >yea, that's the C++ attitude ;) you do know C++ got dinosaured for a >> >*more >> >simple and intuitive* C# right? ;) >> >> That's not what happened at all. C++ is alive and well, C# has always >> served a different purpose >> >> > >> >> >> >> --jk >> >> >> >> On Aug 27, 2016, at 3:04 PM, Rene Veerman > >> gmail.com> wrote: >> >> >> >> yea ok.. "something upstream".. is that nginx easy to stack above / >> >next >> >> to / under apache2? i'm really used to apache2.. >> >> and for noobish developers it might be very convenient to add this to >> >php >> >> readfile() afterall.. >> >> >> >> and my PHP handles static file serving only when needed, when >> >evaluating >> >> content and js for specific URLs to fit in a common HTML site >> >template for >> >> instance.. >> >> you know of a better way? i'm all ears :) >> >> >> >> On Sat, Aug 27, 2016 at 9:00 PM, Joshua Kehn >> >wrote: >> >> >> >>> Why is PHP handling static file serving? This is squarely outside of >> >it's >> >>> domain. Have nginx or something upstream handle gzipping content. >> >>> >> >>> --jk >> >>> >> >>> > On Aug 27, 2016, at 1:22 PM, Rene Veerman < >> >>> rene.veerman.netherlands@gmail.com> wrote: >> >>> > >> >>> > eh no, i'm a big fan of caching output in js / json cache files :) >> >>> > but those still need to get gzipped... not just my main JS file, >> >also my >> >>> > photoalbum contents -> another 1Mb of JSON content... >> >>> > >> >>> > On Sat, Aug 27, 2016 at 7:19 PM, Ashley Sheridan < >> >>> ash@ashleysheridan.co.uk> >> >>> > wrote: >> >>> > >> >>> >> >> >>> >> >> >>> >> On 27 August 2016 17:52:48 BST, Rene Veerman >> >> >>> >> gmail.com> wrote: >> >>> >>> Hi.. >> >>> >>> >> >>> >>> First off, i love PHP. Many thanks for keeping it free too. >> >>> >>> >> >>> >>> However, i've noticed that gzipping the 1Mb of javascript that >> >my >> >>> >>> seductiveapps.com needs, takes a relatively long time (measured >> >over >> >>> a >> >>> >>> total page load time which i'd like to bring down from it's >> >current 10 >> >>> >>> seconds, about a second or even more is spent gzipping (by a >> >core i5 >> >>> >>> machine)).. >> >>> >> >> >>> >> Are you building the js each time it's requested? Have you >> >thought >> >>> about >> >>> >> building it as a deployment step for production? >> >>> >> >> >>> >>> >> >>> >>> At one time, i spent time building PHP code that cached the >> >>> >>> already-gzipped >> >>> >>> content and outputted that with just readfile().. But i never >> >got it >> >>> to >> >>> >>> work a second time, unfortunately.. >> >>> >> Why don't you want the web server to handle the gzip side of >> >things? It >> >>> >> would make more sense surely? >> >>> >> >> >>> >>> Could you pretty please add this to the core of PHP? Shouldn't >> >be that >> >>> >>> hard >> >>> >>> for the internals team right?.. >> >>> >>> >> >>> >>> Many thanks in advance for even considering to do this.. >> >>> >>> >> >>> >>> with regards, >> >>> >>> Rene Veerman, >> >>> >>> CEO + CTO of seductiveapps.com >> >>> >> >> >>> >> -- >> >>> >> Sent from my Android device with K-9 Mail. Please excuse my >> >brevity. >> >>> >> >> >>> >> >> >> >> >> >> -- >> Sent from my Android device with K-9 Mail. Please excuse my brevity. >> >> -- >> PHP General Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> > Combine all of your JS to 1 file, minimize it and then serve it. After > initial load it should be fine. That is how most systems I worked on with > it and works fine. The browser won't have to download it multiple times > (depending on user settings). > > 1MB of javascript is huuuuuge, I don't want to say you are doing it wrong, > but something is going on. jQuery library itself is just 85kb compressed. > > As a developer, the way I do it is make sure that my architecture design > is correct (which language/systems/etc.. to use). Once that is done for my > purpose, the language usually doesn't matter. > > --94eb2c07e5b62d7155053b1725f1--