मैंने अभी अमेज़ॅन के एस 3 पर उपयोगकर्ता अपलोड की गई छवियों को संग्रहीत करना शुरू कर दिया है। यह बहुत अच्छा है क्योंकि यह मेरी स्टोरेज समस्या का ख्याल रखता है। हालांकि, जब ब्राउज़र ब्राउज़र छवियों को कैश करने की बात आती है तो मैं संघर्ष कर रहा हूं।django ऐप पर django-storages का उपयोग करते समय अमेज़ॅन एस 3 पर संग्रहीत छवियों के लिए 304 कैसे प्राप्त करें?
मैं django-storages का उपयोग कर रहा हूं। अपने दस्तावेज़ों में वे निर्दिष्ट करते हैं कि आप अपनी सेटिंग्स में AWS_HEADER var सेट करके किसी छवि के लिए अनुरोध शीर्षलेख पर चीज़ें डाल सकते हैं। मैं ऐसा कर रहा हूं और कोई परिणाम नहीं मिला।
असल में जब ऐप छवि (ओं) का अनुरोध करता है, तो मुझे 200 बार हर बार मिलता है। एआरजी ... जब मैं ब्राउज़र को सीधे छवि पर ले जाता हूं (लिंक को एक नई विंडो में कॉपी और पेस्ट करें) मुझे इसके बाद हर बार एक 2004 मिलता है।
यह बहुत निराशाजनक है क्योंकि यह हर बार छवि डाउनलोड करता है। कुछ पृष्ठों पर उनके ऊपर 25 छोटे थंबनेल होते हैं और जब भी पृष्ठ को पुनः लोड किया जाता है, तब भी यह सबकुछ फिर से लोड हो जाता है।
मैं djangos staticfiles का उपयोग करके अपनी स्थिर फाइलों की सेवा कर रहा हूं और वे ठीक से काम कर रहे हैं। फाइल को कैश करने के बाद मुझे 200 मिलते हैं, फिर 304 मिलते हैं।
यहाँsettings.py में मेरी एडब्ल्यूएस सेटिंग्स हैं
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_ACCESS_KEY_ID = '***'
AWS_SECRET_ACCESS_KEY = '***'
AWS_STORAGE_BUCKET_NAME = 'foobar_uploads'
AWS_HEADERS = {
'Expires': 'Thu, 15 Apr 2020 20:00:00 GMT',
'Cache-Control': 'max-age=86400',
}
AWS_CALLING_FORMAT = CallingFormat.SUBDOMAIN
यहाँ
जब एप्लिकेशन छवि का अनुरोध के लिए अनुरोध और प्रतिक्रिया हेडर हैं: (i बदल दिया है मैं क्या महसूस 'साथ संवेदनशील जानकारी हो सकती है * ')
##request##
GET /user_uploads/*****/2012/3/17/14/46/thumb_a_28_DSC_0472.jpg?Signature=FVR6T%2BXFwHMmdQ9K3n7Ppp7QxoY%3D&Expires=1332023525&AWSAccessKeyId=***** HTTP/1.1
Host: *****_user_uploads_sandbox.s3.amazonaws.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.79 Safari/535.11
Accept: */*
Referer: http://localhost:8000/m/my-photos/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
##response##
HTTP/1.1 200 OK
x-amz-id-2: Hn3S+3gmeLHIjKCpz+2ocE6aPsLCVHh56jJYTsPHwxU98y89x+9X1Ml202evBUHT
x-amz-request-id: 528CEB880CA89AD3
Date: Sat, 17 Mar 2012 21:32:06 GMT
Cache-Control: max-age=86400
Expires: Thu, 15 Apr 2020 20:00:00 GMT
Last-Modified: Sat, 17 Mar 2012 20:46:29 GMT
ETag: "a3bc70e0c3fc0deb974edf95668e9030"
Accept-Ranges: bytes
Content-Type: image/jpeg
Content-Length: 8608
Server: AmazonS3
यहाँ
जब मैं स्वयं छवि के लिए प्रतिलिपि और चिपकाने लिंक द्वारा छवि का अनुरोध के लिए अनुरोध/प्रतिक्रिया हेडर हैं:
##request##
GET /user_uploads/*****/2012/3/17/14/46/thumb_a_28_DSC_0472.jpg?Signature=FVR6T%2BXFwHMmdQ9K3n7Ppp7QxoY%3D&Expires=1332023525&AWSAccessKeyId=***** HTTP/1.1
Host: porlio_user_uploads_sandbox.s3.amazonaws.com
Connection: keep-alive
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.79 Safari/535.11
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
If-None-Match: "a3bc70e0c3fc0deb974edf95668e9030"
If-Modified-Since: Sat, 17 Mar 2012 20:46:29 GMT
##response##
HTTP/1.1 304 Not Modified
x-amz-id-2: FZH0imrbNxziMznhl5zAoo38CaM7Z+TFnd8R6HtTYB3eTmVpCih+1IniKaliRo18
x-amz-request-id: 3CACF77FBB39D088
Date: Sat, 17 Mar 2012 21:33:22 GMT
Last-Modified: Sat, 17 Mar 2012 20:46:29 GMT
ETag: "a3bc70e0c3fc0deb974edf95668e9030"
Server: AmazonS3
मुझे लगता है कि "अगर-कोई नहीं-मैच:" या "अगर-संशोधित-चूंकि:" जैसे कुछ अंतर हैं। मुझे लगता है कि अगर मैं उन्हें सेट करना चाहता था, तो यह काम करना चाहिए जैसा मैं चाहूंगा।
क्या ऐसा करने का कोई आसान तरीका है?
किसी भी मदद के लिए धन्यवाद!
संपादित करें 1: मैं इस लेख पढ़ सकते हैं और यह बहुत अच्छी तरह से अनुवाद नहीं कर सकता .. http://coder.cl/2012/01/django-and-amazon-s3/comment-page-1/
आपको बहुत बहुत धन्यवाद !!! मैं हमेशा के लिए इस के साथ लड़ रहा हूँ !! मेरी पहली कोशिश पर काम किया। वाह मैं एक खुश कैंपर हूँ! – teewuane