Giải nén php gzip

Sử dụng tùy chọn 
# tar -cvf filename.tar file1 folder1 --totals
Total bytes written: 20561920 [20MiB, 354MiB/s]
2 để giải nén ở chế độ yên lặng – yên lặng, không hiển thị thông tin gì trong quá trình giải nén

Nén là một phương pháp đơn giản, hiệu quả để tiết kiệm băng thông và tăng tốc trang web của bạn. Một trình duyệt đầu tiên cần được tận hưởng nội dung và tốc độ của một trang web hiện đại. Do vậy hãy sử dụng gzip. Bài viết sau đây Bizfly Cloud sẽ hướng dẫn bạn cách cài đặt nén Gzip

Trước tiên, hãy tìm hiểu tại sao chúng ta lại làm điều này?

Bạn cần hiểu tổng quan về mã hóa là gì?

Cụ thể như sau, khi bạn yêu cầu một tệp, ví dụ như //www.yahoo.com/index.html, trình duyệt của bạn nói chuyện với một máy chủ web. Đoạn hội thoại sẽ diễn ra kiểu như sau

Trình duyệt của bạn nói chuyện với một máy chủ web

    - Browse. This, GET for me/index. html
    - Người phục vụ. Ok, to me find view index. html has no?
    - Người phục vụ. Found then. Mã phản hồi của anh đây [200 OK] và em đang gửi file.  
    - Browse. 100KB? . chờ tí, chờ tí. ok, tải xuống rồi nhé

Tất nhiên, header và giao thức thực tế sẽ có nhiều dạng thức hơn [để quan sát đầy đủ quá trình, hãy sử dụng Live HTTP Headers nếu bạn muốn]

Quá trình hoàn tất và bạn nhận được tệp

Vì vậy, vấn đề được đặt ra ở đây là gì?

Active system, but not effect. 100KB is a stack text, and true thì HTML khá là trùng lặp. Mỗi thẻ đều có một thẻ đóng gần như tương tự. Các từ lặp đi lặp lại trong cả tài liệu. Bạn chia sẻ nó ra như thế nào thì HTML [và người anh em mạnh mẽ của nó, XML] đều không tinh gọn

Xử lý thế nào với một tệp quá lớn?

Xử lý thế nào với một tệp quá lớn?

Please nén file

If they we could send a .zip file to the browser [index. html. zip] thay vì chỉ mục. html thông thường, chúng ta sẽ tiết kiệm băng thông và thời gian tải. Trình duyệt có thể tải xuống tệp đã nén, giải nén nó và sau đó hiển thị cho người dùng, người dùng sẽ cảm thấy hài lòng hơn vì trang tải nhanh.  

Lúc này, đoạn hội thoại giữa trình duyệt và máy chủ sẽ giống như sau

Trình duyệt có thể tải xuống tệp đã nén, giải nén nó và sau đó hiển thị cho người dùng

    - Browse. Này, tôi có thể NHẬN được chỉ mục. html không? .  
    - Người phục vụ. To me find. ừ, has here. Và anh sẽ lấy bản nén? .  
    - Người phục vụ. Ok, tôi đã tìm thấy chỉ mục. html [200 OK], và tôi đang nén và gửi nó qua cho anh
    - Browse. Tuyệt. Chỉ có mỗi 10KB. Tôi sẽ giải nén và hiển thị cho người dùng

Công thức rất đơn giản. Tệp nhỏ hơn = tải nhanh hơn = người dùng hạnh phúc hơn

You are not tin?

Vì vậy, hãy kiểm tra thực tế bằng dẫn chứng sau đây nhé

Phần HTML của trang chủ Yahoo giảm từ 101KB xuống còn 15KB sau khi nén

101KB xuống còn 15KB sau khi nén

Phần khó khăn trong quá trình trao đổi này là trình duyệt và máy chủ phải biết rằng việc gửi nhận tệp nén đã được chấp nhận. This dong ý bao gồm 2 phần

- Trình duyệt gửi một tiêu đề nói với máy chủ rằng nó chấp nhận nội dung được nén [gzip và deflate là 2 cách nén]. Accept-Encoding: gzip, deflate

- Máy chủ gửi phản hồi nếu nội dung thực sự được nén. Content-Encoding: gzip

Nếu máy chủ không gửi mã hóa nội dung trong tiêu đề của phản hồi, điều đó có nghĩa là tệp không được nén [mặc định ở nhiều máy chủ]. Header "Accept-Encoding" chỉ là một yêu cầu từ trình duyệt, không phải mệnh lệnh. Nếu máy chủ không muốn gửi về nội dung đã được nén, trình duyệt sẽ phải tải xuống phiên bản nặng thông thường

Thiết lập máy chủ

"Tin tốt" là chúng ta không thể kiểm soát được trình duyệt. Nó sẽ gửi tiêu đề Accept-Encoding: gzip, deflate hoặc là không

Công việc của chúng tôi là cấu hình máy chủ để nó trả về nội dung được nén nếu trình duyệt có thể xử lý, tiết kiệm băng thông cho mọi người [và trả lại sự hài lòng cho trải nghiệm của người dùng]

- Đối chiếu với IIS, bật cấu hình nén trong cài đặt

- Trong Apache, bật cấu hình nén nội dung xuất ra khá đơn giản. Add lines after into file. htaccess

# compress text, html, javascript, css, xml: AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml xml AddOutputFilterByType DEFLATE application/rss xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript  # Or, compress certain file types by extension:  SetOutputFilter DEFLATE 

Apache có 2 tùy chọn nén

mod_deflate cài đặt dễ dàng và chuẩn.  

mod_gzip có vẻ mạnh mẽ hơn. you can't nén before the content

Xả hơi nhanh và hoạt động được, tôi nên sử dụng nó; .  

Trong cả 2 trường hợp, Apache đều kiểm tra xem trình duyệt có gửi tiêu đề "Accept-Encoding" không và gửi lại phiên bản nén hoặc phiên bản thường của tệp. Tuy nhiên, một số trình duyệt cũ sẽ phát sinh vấn đề [chi tiết bên dưới] và có một số lệnh đặc biệt mà bạn có thể thêm vào để chỉnh sửa

If you could not change file. htaccess, bạn có thể sử dụng PHP để trả về nội dung nén. Add extension extension. php vào tệp html của bạn và thêm đoạn mã này vào tệp đầu tiên.  

if [substr_count[$_SERVER['HTTP_ACCEPT_ENCODING'],'gzip']]ob_start["ob_gzhandler"];

Chúng ta kiểm tra tiêu đề "Accept-Encoding" và trả về phiên bản nén gzip của tệp [ngược lại là phiên bản thông thường]. Việc làm này gần giống như máy chủ web tự xây dựng của bạn [rất thú vị. ]. Nhưng thực tế thì hãy thử sử dụng Apache để nén nội dung trả về bạn có thể. Bạn sẽ không muốn nghịch các tập tin của mình đâu

Xoá minh dung nén của bạn

Khi bạn đã cấu hình xong máy chủ của mình, hãy kiểm tra để đảm bảo rằng bạn thực sự trả về nội dung nén

Trực tuyến. sử dụng công cụ kiểm tra gzip trực tuyến để kiểm tra xem trang của bạn có bị nén không.  

On the browser. trong Chrome, mở Công cụ dành cho nhà phát triển > Mạng [Firefox/IE sẽ tương tự]. Tải lại trang và nhấn vào dòng mạng tương ứng với trang [ví dụ www.google.com]. Tiêu đề "Mã hóa nội dung. gzip" có nghĩa là nội dung trả về đã được nén

Xoá minh dung nén của bạn

Click vào biểu tượng "Use large rows" để hiển thị thêm thông tin, bao gồm cả kích thước tệp nén và kích thước thực

Hãy chuẩn bị cho điều kỳ diệu ở kết quả. Trang chủ của instacalc thu lại từ 36k xuống còn 10k, giảm 75% kích thước

Try to a example number

Tôi đã làm một số trang và một ví dụ cho phép tải về

mục lục. html - không nén [trên máy chủ này, tôi mặc định sử dụng nén]

mục lục. htm - nén với Apache. htaccess sử dụng luật *. htm

mục lục. php - nén sử dụng tiêu đề PHP

Cứ thoải mái tải tệp xuống cho chúng trong máy chủ của bạn và chỉnh sửa các cài đặt

Lưu ý

Dù khá thú vị nhưng Nén HTTP cũng chứa một số vấn đề. Dưới đây là những điều bạn phải đặc biệt lưu ý

old browser

Một số trình duyệt vẫn còn gặp rắc rối với nội dung nén [họ nói rằng có thể tiếp nhận nội dung nén, nhưng thực tế thì không thể]. Nếu trang của bạn bắt buộc phải hoạt động với Netscape 1. 0 trên Windows 95, bạn có thể không muốn sử dụng Nén HTTP. Apache mod_deflate có một số luật cho phép tránh việc nén trên một số trình duyệt cũ.  

Nén dung lượng

Hầu hết ảnh, nhạc và video đều đã được nén. Don't get time nén them times nữa. Trên thực tế, bạn sẽ chỉ muốn nén "big 3" [HTML, CSS và Javascript]

Tải CPU

Nén nội dung khi nhận được yêu cầu sẽ tiêu tốn thời gian của CPU và tiết kiệm băng thông. Thường thì đây là sự thay đổi tốt nếu biết tốc độ nén. Có nhiều cách để nén trước các nội dung tĩnh và gửi các bản nén này. This job must be cấu hình thêm; . Sử dụng CPU cho người dùng có kinh nghiệm nhanh hơn cũng khá đáng kể, khi sự chú ý không đáng kể

Nén là một trong những cách nhanh nhất để cải thiện hiệu năng cho trang web của bạn. Hãy cài đặt và sử dụng chúng, giúp người dùng của bạn được hưởng lợi khi nó mang lại, nâng cao sự hài lòng trong trải nghiệm trang web

Chủ Đề