рдХреИрд╕реЗ gzip рд╕рдВрдкреАрдбрд╝рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

рдЫрд╡рд┐ рд╣рд░ рдЖрджрдореА рдХреЗ рдЬреАрд╡рди рдореЗрдВ рдПрдХ рд╕рдордп рдЖрддрд╛ рд╣реИ рдЬрдм рдпрд╛рддрд╛рдпрд╛рдд рдмрдврд╝ рд░рд╣рд╛ рд╣реИ рдФрд░ рд╕рд░реНрд╡рд░ рдорд░ рд░рд╣рд╛ рд╣реИ, рдЖрдкрдХреЛ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдирд╡реАрдирддрдо PHP рдбрд╛рдЗрдЬреЗрд╕реНрдЯ ( рдирдВред 40 ) рдореЗрдВ, "рд╣рд╛рдЙ GZIP рдХрдореНрдкреНрд░реЗрд╢рди рд╡рд░реНрдХреНрд╕" рд▓реЗрдЦ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, 56% рд╡реЗрдмрд╕рд╛рдЗрдЯреЗрдВ GZIP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдкрд╛рдардХ рдХреЛ рдЗрд╕ рддрдХрдиреАрдХ рдХреА рдЦреВрдмрд┐рдпреЛрдВ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдХрд░реЗрдЧрд╛ред





рдкрд╛рда рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╕рдВрднрд╡ рд╣реИрдВ (рдореИрдВрдиреЗ рдХрдИ рдмрд╛рд░ рдкреНрд░реВрдлрд░реАрдбрд┐рдВрдЧ рдХреА, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдЕрдЪрд╛рдирдХ), рдЗрд╕рд▓рд┐рдП рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рдорд╛рдлреА рдорд╛рдВрдЧрддрд╛ рд╣реВрдВ рдФрд░ рдЖрдкрдХреЛ рдирд┐рдЬреА рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВ рдпрджрд┐ рдЕрдиреБрд╡рд╛рдж рдХрд╛ рдХреБрдЫ рд╣рд┐рд╕реНрд╕рд╛ рдЖрдкрдХреЛ рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИред



рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЖрдзреБрдирд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдПрдХ рд╣рд╛рдИ-рд╕реНрдкреАрдб рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЕрд╕реАрдорд┐рдд рднрдВрдбрд╛рд░рдг рдХреЗ рд╕рд╛рде, рдбреЗрдЯрд╛ рд╕рдВрдкреАрдбрд╝рди рдЕрднреА рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рдзреАрдореЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рд╡рд╛рд▓реЗ рджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдПред рдпрд╣ рдкреЛрд╕реНрдЯ рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдкрд╛рда рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрдереНрдпрд╛рддреНрдордХ рд╕рдВрдкреАрдбрд╝рди рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ: GZIPред



Gzip рд╕рдВрдкреАрдбрд╝рди



GZIP рджреЛрд╖рд░рд╣рд┐рдд рд╕рдВрдкреАрдбрд╝рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдореВрд▓ рдбреЗрдЯрд╛ рдЕрдирдкреИрдХрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ DEFLATE рдПрд▓реНрдЧреЛрд░рд┐рдердо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬреЛ LZ77 рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдФрд░ рд╣рдлрдореИрди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред



рдПрд▓рдЧреЛрд░рд┐рджрдо LZ77


LZ77 рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо "рд▓рд┐рдВрдХ" рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХреА рдмрд╛рд░-рдмрд╛рд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛рдУрдВ рдХреА рдЬрдЧрд╣ рд▓реЗрддрд╛ рд╣реИред рдпрд╛рдиреА рдпрджрд┐ рдЙрдкрд▓рдмреНрдз рдбреЗрдЯрд╛ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреА рдХреБрдЫ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╣реЛрддреА рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреА рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ "рд▓рд┐рдВрдХ" рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдХреЗ рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реЙрд░рд░_рдПрдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдореАрдХреНрд╖рд╛ рдХреА рдЧрдИ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рд╣реИ ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд▓рд┐рдВрдХ рдХреЗ рджреЛ рдЕрд░реНрде рд╣реИрдВ: рдСрдлрд╕реЗрдЯ рдФрд░ рд▓рдВрдмрд╛рдИред



рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

рдореВрд▓ рдкрд╛рда: "ServerGrove, PHP рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХрдВрдкрдиреА, PHP рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ" (81 рдмрд╛рдЗрдЯреНрд╕)

LZ77: "рд╕рд░реНрд╡рд░ рдЧреНрд░реЛрд╡, PHP рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХрдВрдкрдиреА, рдкреА <3.32> рдЖрдИрдбреА <9.26> <5.52> <3.35> рдЬреЗрд╕реЗрд╕" рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди (73 рдмрд╛рдЗрдЯреНрд╕, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджрд░реНрдн 3 рдмрд╛рдЗрдЯреНрд╕ рд╣реИ)




рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, "рд╣реЛрд╕реНрдЯрд┐рдВрдЧ" рдФрд░ "PHP" рд╢рдмреНрдж рджреЛрд╣рд░рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рджреВрд╕рд░реА рдмрд╛рд░ рдЬрдм рдПрдХ рд╡рд┐рдХрд▓реНрдк рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдПрдХ рд▓рд┐рдВрдХ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЕрдиреНрдп рдореИрдЪ рд╣реИрдВ, рдЬреИрд╕реЗ "рдПрд░", рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдорд╣рддреНрд╡рд╣реАрди рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ - "рдПрд░" рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИ) , рдореВрд▓ рдкрд╛рда рдмрдирд╛ рд╣реБрдЖ рд╣реИред



рд╣рдлрд╝рдореИрди рдХреЛрдбрд┐рдВрдЧ


рд╣рдлрд╝рдореИрди рдХреЛрдбрд┐рдВрдЧ рдПрдХ рдЪрд░ рд▓рдВрдмрд╛рдИ рдХреЛрдбрд┐рдВрдЧ рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдЕрдзрд┐рдХ рдмрд╛рд░ "рд╡рд░реНрдг" рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреЗ рдХреЛрдб рдЕрд╕рд╛рдЗрди рдХрд░рддреА рд╣реИред рдЪрд░ рдХреЛрдб рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдХреЛрдб рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рдФрд░ рдЗрд╕реЗ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╢реБрд░реВ рд╣реБрдЖред



рд╣рдлрд╝рдореИрди рдХреЛрдбрд┐рдВрдЧ рдПрдХ рдЙрдкрд╕рд░реНрдЧ рдХреЛрдб рдмрдирд╛рдХрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддреА рд╣реИ рдЬрд╣рд╛рдБ рдХреЛрдИ рдХреЛрдбрд╡рд░реНрдб рджреВрд╕рд░реЗ рдХрд╛ рдЙрдкрд╕рд░реНрдЧ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:



> рдореВрд▓ рдкрд╛рда: "ServerGrove"

ASCII рдХреЛрдбреАрдХрд░рдг: "01010011 01100101 01110010 01110110 01100101 01110010 01000111 01110010 01101111 01110110 01100101" (88 рдмрд┐рдЯреНрд╕)


ASCII рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд-рд▓рдВрдмрд╛рдИ рд╡рд╛рд▓рд╛ рд╡рд░реНрдг рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИ, рдЗрд╕рд▓рд┐рдП "рдИ" рдЕрдХреНрд╖рд░, рдЬреЛ рддреАрди рдмрд╛рд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдВрдЧреНрд░реЗрдЬреА рднрд╛рд╖рд╛ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЕрдХреНрд╖рд░ рднреА рд╣реИ, рдЕрдХреНрд╖рд░ "G" рдХреЗ рд╕рдорд╛рди рдЖрдХрд╛рд░ рд╣реИ, рдЬреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдлрдореИрди рд╕рдмрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред



рд╣рдлрд╝рдореИрди: "1110 00 01 10 00 01 1111 01 110 10 00" (27 рдмрд┐рдЯ)


рд╣рдлрд╝рдореИрди рдкрджреНрдзрддрд┐ рд╣рдореЗрдВ "рдИ", "рдЖрд░" рдФрд░ "рд╡реА" рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреЗ рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЬрдмрдХрд┐ "рдПрд╕" рдФрд░ "рдЬреА" рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╣реИрдВред рдпрд╣ рдмрддрд╛рддреЗ рд╣реБрдП рдХрд┐ рд╣рдлрд╝рдореИрди рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЗрд╕ рдкрдж рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░рдлрд╛рдЗрд▓ (рдпрд╛ рд╣реИрдмреЗ рдкрд░ рдПрдХ рд▓реЗрдЦ) рдкрд░ рдЙрддреНрдХреГрд╖реНрдЯ рд╡реАрдбрд┐рдпреЛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдПрдВ ред



DEFLATE, GZIP рд╕рдВрдкреАрдбрд╝рди рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрди рджреЛрдиреЛрдВ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдПрдХ рд╕рдВрдпреЛрдЬрди рд╣реИред



Gzip рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдВрдкреАрдбрд╝рди рд╡рд┐рдзрд┐ рд╣реИ?


рдЬрд╡рд╛рдм рд╣реИ рдирд╣реАрдВред рдРрд╕реЗ рдЕрдиреНрдп рддрд░реАрдХреЗ рд╣реИрдВ рдЬреЛ рдЙрдЪреНрдЪ рд╕рдВрдкреАрдбрд╝рди рджрд░ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХрдИ рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рд╣реИрдВред



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рднрд▓реЗ рд╣реА GZIP рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдВрдкреАрдбрд╝рди рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЧрддрд┐ рдФрд░ рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдХреЗ рдмреАрдЪ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдордЭреМрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред GZIP рд╕рдВрдкреАрдбрд╝рди рдФрд░ рд╡рд┐рдШрдЯрди рддреЗрдЬ рд╣реИрдВ рдФрд░ рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдЙрдЪреНрдЪ рд╣реИред

рджреВрд╕рд░реЗ, рдПрдХ рдирдИ рд╡реИрд╢реНрд╡рд┐рдХ рдбреЗрдЯрд╛ рд╕рдВрдкреАрдбрд╝рди рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рд░ рдХреЛрдИ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЛ рдПрдХ рдЕрдкрдбреЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬреЛ рдЖрдЬ рдСрдЯреЛ-рдЕрдкрдбреЗрдЯ рдХреЗ рдХрд╛рд░рдг рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗрд╡рд▓ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдХреНрд░реЛрдорд┐рдпрдо рдиреЗ BZIP2 рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬреЛ рдмрд░реЛрдЬрд╝-рд╡реНрд╣реАрд▓рд░ рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЫреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдордзреНрдпрд╡рд░реНрддреА рдкрд░рджреЗ рдХреЗ рдкреАрдЫреЗ рдбреЗрдЯрд╛ рд╡рд┐рдХреГрдд рдХрд░ рджрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ bzip2 рд╣реЗрдбрд░ рдХреЛ рдкрд╣рдЪрд╛рди рдирд╣реАрдВ рд╕рдХрд╛ рдФрд░ рдЙрд╕рдиреЗ gzip рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рдПрдХ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИ ред



Gzip + http


рдХреНрд▓рд╛рдЗрдВрдЯ (рдмреНрд░рд╛рдЙрдЬрд╝рд░) рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рд╕рдВрдкреАрдбрд╝рд┐рдд рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред рдпрджрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ GZIP / DEFLATE рд╕рдорд░реНрдерди рд╣реИ, рддреЛ рдпрд╣ рд╕рд░реНрд╡рд░ рдХреЛ "рд╕реНрд╡реАрдХрд╛рд░-рдПрдиреНрдХреЛрдбрд┐рдВрдЧ" рд╢реАрд░реНрд╖рдХ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдзрдиреНрдпрд╡рд╛рдж рдХреЛ рд╕рдордЭрддрд╛ рд╣реИред рдлрд┐рд░, рд╕рд░реНрд╡рд░ рдпрд╣ рдЪреБрди рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдпрд╛ рдореВрд▓ рд░реВрдк рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рдП рдпрд╛ рдирд╣реАрдВред











рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


DEFLATE рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░реАрдо рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИред



GNU GZIP


GNU рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рдмрд╕реЗ рдЖрдо рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╕реЗ рдореБрдХреНрдд рд╣реИред GNU GZIP рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

$ gzip -c file.txt> file.txt.gz


9 рд╕рдВрдкреАрдбрд╝рди рд╕реНрддрд░ рд╣реИрдВ, "1" (рд╕рдмрд╕реЗ рдХрдо рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рддреЗрдЬрд╝) рд╕реЗ "9" (рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдзреАрдорд╛)ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, "6" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рдФрд░ рд╕рдордп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдзрд┐рдХрддрдо рд╕рдВрдкреАрдбрд╝рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ "-9" (рдпрд╛ "-рдПрдЬрд╝реЗрдВрдЯ") рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

$ gzip -9 -c file.txt> file.txt.gz




7-рдЬрд╝рд┐рдк


7-рдЬрд╝рд┐рдк рдЕрд▓рдЧ DELFATE рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдЙрдЪреНрдЪ рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдХреЗ рд╕рд╛рде рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ред рдлрд╝рд╛рдЗрд▓ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

7z a -mx9 file.txt.gz file.txt


7-рдЬрд╝рд┐рдк рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рднреА рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рдЕрдиреНрдп рд╕рдВрдкреАрдбрд╝рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ 7z, xz, bzip2, zip рдФрд░ рдЕрдиреНрдпред



Zopfli


рдЬрд╝реЛрдлрд╝рд▓реА рдПрдХ рдмрд╛рд░ рдХреЗ рд╕рдВрдкреАрдбрд╝рди рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХ рдмрд╛рд░ рд╕рдВрдХреБрдЪрд┐рдд рдФрд░ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ 100 рдЧреБрдирд╛ рдзреАрдорд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрдкреАрдбрд╝рди рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 5% рдмреЗрд╣рддрд░ рд╣реИред рд╣рдмрдкреНрд░реЛрд╕реНрдЯ ред



рдЧрдЬрд╝рд┐рдк рд╕рдХреНрд╖рдо рдХрд░реЗрдВ


рдЕрдкрд╛рдЪреЗ


Mod_deflate рдореЙрдбреНрдпреВрд▓ GZIP рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рднреЗрдЬреЗ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдордХреНрдЦреА рдкрд░ рд╕рдВрдкреАрдбрд╝рд┐рдд рд╣реЛрддреА рд╣реИред рдкрд╛рда рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рдВрдкреАрдбрд╝рди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде .htaccess рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛:

AddOutputFilterByType рдкрд╛рда / рд╕рд╛рджреЗ рдХреЛ рд╣рдЯрд╛рдПрдВ

AddOutputFilterByType рдкрд╛рда / HTML рдХреЛ рд╣рдЯрд╛рдПрдВ

AddOutputFilterByType рдкрд╛рда / xml рдХреЛ рд╣рдЯрд╛рдПрдВ

AddOutputFilterByType рдкрд╛рда / рд╕реАрдПрд╕рдПрд╕ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ

AddOutputFilterByType рдЖрд╡реЗрджрди / xml рдХреЛ рд╣рдЯрд╛рдПрдВ

AddOutputFilterByType рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╣рдЯрд╛рдПрдВ / xHTML + xml

AddOutputFilterByType рдЖрд╡реЗрджрди / rss + xml рдХреЛ рд╣рдЯрд╛ рджреЗрдВ

AddOutputFilterByType рдЖрд╡реЗрджрди / рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ

AddOutputFilterByType рдПрдкреНрд▓рд┐рдХреЗрд╢рди / X-javascript рдХреЛ рд╣рдЯрд╛рдПрдВ




рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдХреБрдЫ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдХрдИ рдЬреНрдЮрд╛рдд рдХреАрдбрд╝реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рднреА * рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ:

BrowserMatch ^ рдореЛрдЬрд╝рд┐рд▓рд╛ / 4 gzip-only-text / html

BrowserMatch ^ рдореЛрдЬрд╝рд┐рд▓рд╛ / 4 \ .0 [678] рдиреЛ-рдЬреАрдЬрд╝рд┐рдк

BrowserMatch \ bMSIE! рдирд╣реАрдВ-gzip! Gzip-only-text / html

рд╣реИрдбрд░ рдиреЗ рд╡рд░реА рдпреВрдЬрд░-рдПрдЬреЗрдВрдЯ рдХреЛ рдЬреЛрдбрд╝рд╛
* рдпрд╣ рд╕рдорд╛рдзрд╛рди рдкрд╣рд▓реЗ рд╣реА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХрддрд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЙрдкрд░реЛрдХреНрдд рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЛ рдЦреЛ рдЪреБрдХрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рд╕реВрдЪрдирд╛ рдХреЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд▓реА рдЬрд╛ рд╕рдХрддреА рд╣реИ



рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдкреВрд░реНрд╡-рд╕рдВрдХреБрдЪрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬреЛ рд╕реАрдПрд╕рдПрд╕ рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреИрд╕реЗ рд╣рд░ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдзреАрдореА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХреБрдЪрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

рд░реЗрд╡реЗрд░рд┐рдЯреЗрдВрдЧрд┐рди рдкрд░

AddEncoding gzip .gz

рд░рд┐рд╡рд╛рдЗрдЯрд░рдХрдВрдб% {HTTP: рд╕реНрд╡реАрдХрд╛рд░-рдПрдиреНрдХреЛрдбрд┐рдВрдЧ} gzip

% ReriteCond% {REQUEST_FILENAME} .gz -f

рд░реЗрд╡реЗрд░рд┐рдЯреБрд▓реЗ ^ (ред *) $ $ 1.gz [QSA, L]



рдпрд╣ рдЕрдкрд╛рдЪреЗ рдХреЛ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ .gz рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд (рдкрдВрдХреНрддрд┐ 2) рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдЖрдкрдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ (рд▓рд╛рдЗрди 3) рджреНрд╡рд╛рд░рд╛ gzip рд╕реНрд╡реАрдХреГрддрд┐ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рд╕рдВрдкреАрдбрд╝рд┐рдд рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рд╣реИ (рдкрдВрдХреНрддрд┐ 4), рд╣рдо рдЕрдиреБрд░реЛрдзрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП .gz рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред



nginx


Ngx_http_gzip_module рдореЙрдбреНрдпреВрд▓ рдЖрдкрдХреЛ рдордХреНрдЦреА рдкрд░ GZIP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ ngx_http_gzip_static_module рдЖрдкрдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХреЗ рдмрдЬрд╛рдп ".gz" рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдкреВрд░реНрд╡-рд╕рдВрдХреБрдЪрд┐рдд рдлрд╝рд╛рдЗрд▓реЗрдВ рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╡рд┐рдиреНрдпрд╛рд╕ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рдкрд░ gzip;

gzip_min_length 1000;

gzip_types text / plain application / xml;




рдЧрдЬрд╝рд┐рдк + php


рдпрджреНрдпрдкрд┐ рдЖрдорддреМрд░ рдкрд░ PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдзреАрдореА рд╣реИ, рдЖрдк zlib рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо jQuery.min рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдЕрдзрд┐рдХрддрдо рд╕рдВрдкреАрдбрд╝рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ:



$originalFile = __DIR__ . '/jquery-1.11.0.min.js'; $gzipFile = __DIR__ . '/jquery-1.11.0.min.js.gz'; $originalData = file_get_contents($originalFile); $gzipData = gzencode($originalData, 9); file_put_contents($gzipFile, $gzipData); var_dump(filesize($originalFile)); // int(96380) var_dump(filesize($gzipFile)); // int(33305)
      
      







рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмрдЬрд╛рдп (рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдиреЛрдЯ)


рд▓реЗрдЦрдХ рдХреЗ рд▓реЗрдЦ рдХреЗ рддреБрд▓рдирд╛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо, рдЖрдВрдХрдбрд╝реЛрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЕрдкрдиреЗ рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдЬрд▓реА рд╡рд╛рд▓реЗ рд╣рд╛рде рдХреИрд╕реЗ рдереЗ, рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреЗ рдмрд┐рдирд╛ рдЕрдиреБрд╡рд╛рдж рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд▓реЗрдЦ рд▓реЗрдЦрдХ рдФрд░ ServerGrove рдкреЛрд░реНрдЯрд▓ рдХреА рдЕрдиреБрдорддрд┐ рдХреЗ рд╕рд╛рде рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред



All Articles