मैं अपने चयन के एल्गोरिदम का उपयोग करके एटाग हेडर भेजने के लिए अपाचे या nginx सर्वर को कैसे कॉन्फ़िगर कर सकता हूं (यानी इनोड, माटा या आकार शामिल नहीं है)? क्या कोई नया सी मॉड्यूल संकलित करने का कोई विकल्प है?कस्टम ईटैग पीढ़ी
7
A
उत्तर
4
अपाचे में, ETags are handled as a core feature। इटाग को कई मूल्यों के हैश के रूप में गणना की जाती है। आप सशर्त व्यवहार जिसके लिए हैश में शामिल करने के लिए मान निर्धारित करने के लिए अपने httpd.conf
या .htaccess
फ़ाइल में FileETag
निर्देश उपयोग कर सकते हैं, लेकिन जैसा कि आप ने कहा, अपने विकल्पों के लिए सीमित हैं:
INode
- आपकी फ़ाइल के आई-नोड बाइट्स में अपनी फ़ाइल
All
के आकार - - सर्वर अपनी फ़ाइल सेSize
परोसा जाता है की टाइमस्टैम्प (मिली सेकंड में) - विशेष रूप से सर्वर सेMTime
ही दिखाया जाता है पर नंबर एक ऊपरNone
की ll - ऊपर
से कोई भी आप चाहते हैं सही मायने में कस्टम ETag पीढ़ी, आप निश्चित रूप से एक अपाचे मॉड्यूल लेखन को सबसे अच्छा होगा। हालांकि यदि आपको त्वरित और गंदे फ़िक्स की आवश्यकता है, तो आप अपने अनुरोधों को PHP स्क्रिप्ट पर रूट करके और स्क्रिप्ट में Etag
शीर्षलेख जोड़कर अपने स्वयं के टैग जेनरेट कर सकते हैं। मार्ग अपने httpd.conf
या .htaccess
फ़ाइल में इस प्रकार दिखाई देंगे:
RewriteCond %{REQUEST_FILENAME} \.png$ # This example looks for .png requests
RewriteRule ^(.*)$ /gentag.php?path=$1 [B] # ...and routes them to a PHP script
PHP स्क्रिप्ट इस प्रकार दिखाई देंगे:
<?
$path = $_GET['path']; // Grab the filepath from GET params
$cont = file_get_contents($path); // Get file contents to hash
$hash = crc32($cont); // Create your own ETag hash however you like
header("Etag: $hash"); // Send the custom Etag header
echo $cont; // Dump the file contents to output
?>
संबंधित मुद्दे
- 1. ईटैग
- 2. जैस्पर रिपोर्ट - कस्टम बारकोड पीढ़ी
- 3. ईटैग सही प्राप्त करना
- 4. कस्टम Maven मूलरूप या विकल्प पीढ़ी
- 5. टी 4 कोड पीढ़ी, कस्टम असेंबली संदर्भ
- 6. पीढ़ी
- 7. एचटीपी कैशेबिलिटी क्यों है। निजी ईटैग दबाएं?
- 8. टाइप पीढ़ी
- 9. रेल - ईटैग बनाम पेज कैशिंग (फ़ाइल कैश)
- 10. बचें पीढ़ी
- 11. माइन्सवीपर पीढ़ी
- 12. Typelib पीढ़ी और WiX
- 13. जीएनयू ईटैग का उपयोग कर एक रिकर्सिव ईटैग बनाने के लिए शैल जादू का उपयोग कैसे करें?
- 14. ईटैग एक दूषित TAGS फ़ाइल क्यों उत्पन्न कर रहा है?
- 15. ईटैग, आईआईएस 7, कर्नेल कैश पॉलिसी (सक्षम कर्नेल कैश)
- 16. जेबीपीएम वर्कफ़्लो पैच पीढ़ी
- 17. EJB 3 स्टब पीढ़ी
- 18. पोजो से xsd पीढ़ी
- 19. लहजे भाषण पीढ़ी
- 20. समवर्ती यादृच्छिक संख्या पीढ़ी
- 21. जैस्पर रिपोर्ट पीढ़ी
- 22. Tastypie प्रलेखन पीढ़ी
- 23. एक्सकोड कोड पीढ़ी
- 24. php सरणी पीढ़ी challange
- 25. DBUnit स्वचालित डेटासेट पीढ़ी
- 26. संकार्य पीढ़ी एएमडी
- 27. PostgreSQL UUID पीढ़ी
- 28. विम हेल्पटैग पीढ़ी
- 29. मेवेन समेकित साइट पीढ़ी
- 30. पीडीएफ रिपोर्ट पीढ़ी
आप एक का उपयोग मामला है जब आप के लिए खुद 'ETag' सेट करने की आवश्यकता है स्थिर फाइलें? –
क्लस्टर से निर्मित - इनोड और माटा एक ही संस्करण के लिए समान नहीं होंगे, आकार विभिन्न संस्करणों के लिए समान हो सकता है – OrangeDog
Nginx ने पर्ल में अंतर्निहित किया है, यह इसके लिए एक अच्छा काम प्रतीत होता है। यह स्थितियों में बहुत अच्छी तरह से (विश्वसनीय और तेज़) काम करता है जब आपके पास दूरस्थ संसाधन (उदा। डेटाबेस) पर कोई ताला नहीं है। –