• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • Guru: Speed Up Web Pages Using Apache’s mod_deflate

    July 9, 2018 Alan Seiden

    If your web applications run on HTTP Server (Powered by Apache) for i, you can enable a powerful Apache extension, mod_deflate, to speed up your site. Just as zipping up files on your PC saves space and accelerates file transfers, mod_deflate “allows output from your server to be compressed before being sent to the client over the network.” (See https://httpd.apache.org/docs/2.4/mod/mod_deflate.html for more information.) My tests show a speed improvement of 10 to 50 percent.

    You can compress any text-based output, including HTML (whether plain .html files, output from RPG CGI programs, PHP, or other languages), Cascading Style Sheets (CSS), and Javascript (JS) — pretty much anything except compressed images and other binary formats.

    Content is compressed automatically, sent over the network to the browser as usual, and then automatically decompressed by the user’s browser. By default, the gzip compression protocol is used because most browsers support it.

    Follow these easy steps to enable mod_deflate.

    1. Edit the appropriate Apache instance configuration file. Its location will depend on your web server instance name. For example, if your Apache instance is named GURU, then the file is likely to be located at /www/guru/conf/httpd.conf. This is a simple text file, so you may choose from several editors: IBM’s HTTP Server Admin GUI at port 2001 (if *ADMIN is started), the WRKLNK/EDTF command, or your favorite text editor/.
    2. Add the following two directives to httpd.conf’s main section (pound signs are comments):
    # Load the extension that deflates (compresses) content
    LoadModule deflate_module /QSYS.LIB/QHTTPSVR.LIB/QZSRCORE.SRVPGM
    # Specify what content to compress (example: html, json, css, javascript)
    # Make sure this directive has no line breaks; it should fit on one line in your .conf file.
     AddOutputFilterByType DEFLATE application/x-httpd-php application/json text/css application/x-javascript application/javascript text/html
    
    1. Use the Start TPC/IP Server CL command to restart your Apache instance (in this case, “GURU”).
    STRTCPSVR SERVER(*HTTP) RESTART(*HTTP) HTTPSVR(GURU)
    

    If your site is public, you can type its URL into the box at https://checkgzipcompression.com/ to learn whether compression has been enabled, and how much bandwidth you saved. When I tested my site, seidengroup.com, I learned that compression was, indeed, enabled, reducing page size from 73,911 bytes to 15,171 bytes, quite a savings.

    If your site is not public, you can use your browser’s “developer tools” to check for compression. Instructions for Google Chrome’s browser are at https://www.conetix.com.au/support/article/how-to-check-gzip-is-enabled.

    Smart developers may ask whether the dynamic compression/decompression causes any performance penalty. In my experience, any minor slowdown from on-the-fly compression/decompression is far outweighed by the benefits of smaller file sizes. Compression algorithms have been optimized over the years to be very fast.  I say, therefore, compress first and ask questions later!

    Try mod_deflate on your IBM i-based sites (and other sites) and let us know your results.

    An IBM Champion and founder of Seiden Group, Alan Seiden leads a team that mentors clients in building APIs and web/mobile applications using open source, PHP, and IBM i business logic. Alan’s passion for the IBM i community inspires him to host the bi-annual CIO Summit and offer a free monthly tips newsletter.

    RELATED STORIES

    HTTP Server (Powered by Apache) for i

    Apache Module mod_deflate

    Check gzip Compression

    How to check gzip is enabled (Deflate)

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Tags: Tags: Apache, CSS, FHG, Four Hundred Guru, HTTP Server, IBM i, JavaScript, JS, PHP, RPG CGI

    Sponsored by
    Precisely

    Participate in Precisely’s 2021 IBM i Security Survey

    Every year, Precisely asks IT pros responsible for IBM i security about their top challenges, strategies, technologies and best practices. These annual survey results provide a revealing look at the current state of IBM i security through the eyes of your peers.

    Click here to contribute your perspectives to this year’s survey.

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Four Hundred Monitor, July 9 VACAVA’s Low-Code Approach To Modernization

    Leave a Reply Cancel reply

TFH Volume: 28 Issue: 45

This Issue Sponsored By

  • Profound Logic Software
  • COMMON
  • RPG & DB2 Summit
  • Computer Keyes
  • Manta Technologies

Table of Contents

  • Removing The Last Governor: Core Software Pricing
  • VACAVA’s Low-Code Approach To Modernization
  • Guru: Speed Up Web Pages Using Apache’s mod_deflate
  • Four Hundred Monitor, July 9
  • IBM i PTF Guide, Volume 20, Number 26

Content archive

  • The Four Hundred
  • Four Hundred Stuff
  • Four Hundred Guru

Recent Posts

  • IBM Extends Dynamic Capacity Pricing Scheme To Its Cloud
  • Here’s What You Should Do About The IBM i Skills Shortage
  • Matillion Founder Recounts Midrange Roots
  • Four Hundred Monitor, February 24
  • IBM i PTF Guide, Volume 23, Number 8
  • iTech Solutions Keeps You In The Know With VERIFi
  • Tech Data’s Take On Certified Pre-Owned IT Gear
  • Guru: Prompting Stored Procedures
  • As I See It: Sunshine Or Oxygen?
  • Looking For Some Insight On IBM i Security

Subscribe

To get news from IT Jungle sent to your inbox every week, subscribe to our newsletter.

Pages

  • About Us
  • Contact
  • Contributors
  • Four Hundred Monitor
  • IBM i PTF Guide
  • Media Kit
  • Subscribe

Search

Copyright © 2021 IT Jungle

loading Cancel
Post was not sent - check your email addresses!
Email check failed, please try again
Sorry, your blog cannot share posts by email.