ob_start()
और ob_start('ob_gzhandler')
का उपयोग करने के बीच क्या अंतर है?
यह पृष्ठ की गति को कैसे प्रभावित करता है?PHP ob_start() और ob_start ('ob_gzhandler')
6
A
उत्तर
10
यह उस पृष्ठ की गति को प्रभावित नहीं करता है जो आपको लगता है।
एक कॉलबैक फ़ंक्शन है जो आपके आउटपुट बफर से सामग्री लेता है और इसे आउटपुट करने से पहले डेटा को संपीड़ित करता है।
यह आकार को उस सामग्री पर भेजा जा रहा है जो ब्राउज़र पर सामग्री हस्तांतरण को तेज कर सकता है। लेकिन यह आपके आवेदन/वेबसाइट को तेज नहीं करता है।
4
मुझे कुछ व्यवस्थापक पृष्ठों (जटिल HTML तालिकाओं से भरा) के लिए gzip को मजबूर करने की आवश्यकता है जो कुछ क्लाइंट के लिए स्वचालित रूप से संपीड़ित नहीं हो रहे थे इसलिए मैंने इस विधि को जोड़ा। मुझे यकीन नहीं है कि मैं इसे हर पृष्ठ के लिए मजबूर करूंगा, लेकिन कम से कम व्यवस्थापक पेज ठीक है।
function force_gzip()
{
// Ensures only forced if the Accept-Encoding header contains "gzip"
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'))
{
header('Content-Encoding: gzip');
ob_start('ob_gzhandler');
}
}
एचटीएमएल के 950 केबी 80 केबी के नीचे संपीड़ित किया गया जिसके परिणामस्वरूप 5-10x गति पृष्ठ लोड हो रही है।
यदि कोई पृष्ठ ob_start ('ob_gzhandler') का उपयोग करता है जो क्लाइंट को सामग्री हस्तांतरण को गति देता है, तो मुझे लगता है कि यह बफरिंग उस पेज प्रतिपादन को भी तेज कर सकती है। – Sithu
उन दो चीजें एक दूसरे से संबंधित नहीं हैं। पेज प्रतिपादन क्लाइंट हार्डवेयर पर निर्भर करता है। इससे कोई फर्क नहीं पड़ता कि सामग्री को प्रतिपादित करने में 3 सेकंड में सामग्री हो सकती है या नहीं। इससे पहले कि आप कुछ भी प्रस्तुत कर सकें, आपको अभी भी सामग्री लाने की ज़रूरत है। – Repox