HTTP हेडर त्रुटि में वर्ण सेट निर्दिष्ट नहीं है


15

पृष्ठ गति के साथ इस पृष्ठ का परीक्षण करते समय , मुझे एक Specify a character setत्रुटि मिलती है :

The following resources have no character set specified in their HTTP headers. Specifying a character set in HTTP headers can speed up browser rendering.

Content-Typeटैग मौजूद है और पेज को UTF-8 के साथ-साथ एन्कोडिंग के साथ बचा लिया गया था, इसलिए जहां त्रुटि से आ रही है?


अपाचे में कहां? कौन सी निर्देशिका?

जवाबों:


19

यह रिस्पांस हेडर्स का जिक्र है न कि डॉक्यूमेंट बॉडी ("कंटेंट-टाइप टैग") का।

आप किसी HTTP डीबगर (उदाहरण के लिए, साथ अपने पृष्ठ के प्रतिक्रिया हेडर को चेक करते हैं Firebug का शुद्ध पैनल Firefox के लिए, या के समान टैब डेवलपर टूल गूगल क्रोम / इंटरनेट एक्सप्लोरर / सफारी / ओपेरा में), तो आप इस लाइन देखेंगे:

Content-Type: text/html

उसी समय, यदि आप इस पृष्ठ के लिए समान जांचते हैं, तो आप देखेंगे:

Content-Type: text/html; charset=utf-8

पृष्ठ गति अनुपलब्ध भाग की बात कर रही है। हेडर में मौजूद सही कैरेक्टर सेट होने से वास्तव में पेज को थोड़ा रेंडर करने में तेजी आएगी । गलत हेडर के साथ रिस्पांस हेडर में निर्दिष्ट (या कोई भी कैरेक्टर सेट नहीं) ब्राउजर को पेज को तब तक स्कैन / व्याख्या करने की जरूरत है जब तक कि उसे सही कैरेक्टर सेट डिक्लेरेशन ( <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />लाइन) न मिल जाए और कैरेक्टर सेट ब्राउजर से अलग हो जाए तो रेंडरिंग प्रक्रिया फिर से शुरू करें डिफ़ॉल्ट सेटिंग।

प्रदर्शन जुर्माना बिल्कुल भी बड़ा नहीं है - उपयोगकर्ता के लिए यह ध्यान देने योग्य नहीं है जब तक कि वास्तव में पुराना / धीमा हार्डवेयर उपयोग में न हो (हालांकि यह प्रत्येक ब्राउज़र और ब्राउज़र संस्करण के लिए भिन्न होता है)। शायद कुछ अन्य "दंड" हैं जो सीधे तौर पर इससे संबंधित हैं, लेकिन मैं व्यक्तिगत रूप से उनसे अनजान हूं।

फिक्सिंग: यदि आप स्वयं (अपने PHP स्क्रिप्ट में) इस हेडर को जेनरेट करते हैं, तो आपको इसे charset के रूप में भी शामिल करने के लिए इसे बदलना होगा। यदि आपकी स्क्रिप्ट इस तरह के हेडर जोड़तोड़ नहीं करती है, तो यह सर्वर मिसकॉन्फ़िगरेशन समस्या है।


मैंने अभी जोड़ा header('Content-type: text/html; charset=UTF-8');। आपका बहुत बहुत धन्यवाद!
एलेक्स

6
आप प्रतिक्रिया शीर्षकों को भी देख सकते हैं curl --head $url। अपाचे में एक डिफ़ॉल्ट AddDefaultCharset utf-8फ़ाइल जैसे .htaccess को जोड़कर डिफ़ॉल्ट चारसेट को निर्दिष्ट किया जा सकता है ।
लारी

स्पष्ट स्पष्टीकरण के लिए +1, अक्सर यह आश्चर्यचकित करता है और भ्रमित होता है। Htaccess AddDefaultCharset के साथ जुड़ाव
Malachi

<meta charset="utf+8">पर्याप्त नहीं होना चाहिए ?
डैनियल स्प्रिंगर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.