ক্লাউডফ্রন্টকে এস 3 থেকে সর্বশেষতম এইচটিএমএল ফাইলটি পাস করার জন্য বাধ্য করা হচ্ছে


13

পটভূমি

আমি উপরের দিকে ক্লাউডফ্রন্ট সহ, এস 3-তে একটি স্ট্যাটিক সাইট হোস্ট করছি। আমার কাছে সমস্যাটি আমার HTML ফাইলগুলির সাথে।

ক্লাউডফ্রন্টের এফএকিউ অনুসারে :

অ্যামাজন ক্লাউডফ্রন্ট এই ক্যাশের নিয়ন্ত্রণ শিরোনামগুলি সেই ফাইলটির আপডেট হওয়া সংস্করণের জন্য কত ঘন ঘন উত্স পরীক্ষা করতে হবে তা নির্ধারণ করতে ব্যবহার করে

আমি এ পর্যন্ত কি করেছি

এই বিষয়টি মাথায় রেখে আমি নিম্নলিখিত হেডারে যুক্ত করতে আমার এস 3 বাল্টিতে এইচটিএমএল ফাইলগুলি সেট করেছি:

Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Expires: Fri, 01 Jan 1990 00:00:00 GMT

আমার প্রথম কলটিতে samplefile.htmআমি নিম্নলিখিত প্রতিক্রিয়া শিরোনামগুলি দেখতে পাচ্ছি (আমি সুস্পষ্ট শিরোনামগুলি বাদ দিয়েছি (উদাহরণস্বরূপ Content-Type) বিষয়টি ধরে রাখার জন্য:

Cache-Control:no-cache, no-store, max-age=0, must-revalidate
Date:Sat, 10 Dec 2011 14:16:51 GMT
ETag:"a5890ace30a3e84d9118196c161aeec2"
Expires:Fri, 01 Jan 1990 00:00:00 GMT
Last-Modified:Sat, 10 Dec 2011 14:16:43 GMT
Server:AmazonS3
X-Cache:Miss from cloudfront

আপনি দেখতে পাচ্ছেন, আমার Cache-Controlশিরোনামটি সেখানে। সমস্যাটি হ'ল, আমি যদি এই ফাইলটি আপডেট করে রিফ্রেশ করি তবে ক্যাশেড সামগ্রী পেয়েছি (সর্বশেষ ফাইলের চেয়ে),

X-Cache:Hit from cloudfront

সারাংশ / প্রশ্ন

উপরের কথা মাথায় রেখে ক্লাউডফ্রন্ট ব্যবহার করার সময় আমি কীভাবে সর্বশেষতম এইচটিএমএলটির স্বয়ংক্রিয় পুনরুদ্ধার অর্জন করতে পারি?

এর প্রায়শই জিজ্ঞাসিত প্রশ্ন অনুসারে আমার ক্যাশে-নিয়ন্ত্রণ শিরোনামগুলির সাথে এটি করতে সক্ষম হওয়া উচিত তবে আমি এই কাজটি করবো বলে মনে হয় না।

নীচের উত্তর অনুসরণ করা

শেষ পর্যন্ত আমি আমার www সিএনএম পরিবর্তন করার সিদ্ধান্ত নিয়েছিলাম আমার এস 3 বালতিটি সরাসরি নির্দেশ করতে। তারপরে "স্ট্যাটিক" নামে একটি নতুন সিএনএম যুক্ত হয়েছে, যা ক্লাউডফ্রন্টের দিকে নির্দেশ করে।

এর অর্থ এইচটিএমএল এস 3 থেকে সরাসরি, যা এরপরে তার সমস্ত সিএসএস / জেএস / আইএমজি রেফারেন্সগুলি স্ট্যাটিক.মিডোমেন.কমের দিকে নির্দেশ করে

উত্তর:


6

প্রথমত, ক্লাউডফ্রন্টের বিন্দুটি ক্যাশেড বিষয়বস্তু পরিবেশন করা - যদি আপনি ক্লাউডফ্রন্ট থেকে আনচড কনটেন্ট পরিবেশন করার চেষ্টা করেন তবে এটি প্রায় সব ক্ষেত্রেই স্ট্রিং কনটেন্টের মতো কিছু ক্ষেত্রে ব্যতিক্রম হবে S ক্লাউডফ্রন্ট থেকে বিষয়বস্তু পরিবেশন করার জন্য কী ঘটতে হবে তা এক মুহুর্তের জন্য বিবেচনা করুন - এটি ব্যবহারকারী থেকে ভৌগলিকভাবে নিকটে অবস্থিত একটি উত্স সার্ভার থেকে পুনরুদ্ধার করা দরকার - যার অর্থ এমন একটি অনুরোধের জন্য যেখানে ক্লাউডফ্রন্টকে মূল সার্ভার থেকে সামগ্রী পুনরুদ্ধার করতে হবে , আপনি অনুরোধে অতিরিক্ত বিলম্বিতা যুক্ত করুন এবং ব্যবহারকারী ধীরে ধীরে সামগ্রী গ্রহণ করবে। প্রান্তের স্থানে সামগ্রীটি কেবল একবার পাওয়া গেলে পরবর্তী অনুরোধগুলি দ্রুত হয়।

এই সমস্যার সর্বোত্তম পন্থা হ'ল আপনি যখন কোনও পৃষ্ঠা আপডেট করবেন তখন আপনার ফাইলের নাম পরিবর্তন করা - এটি ক্লাউডফ্রন্টকে নতুন সামগ্রী পুনরুদ্ধার করতে বাধ্য করবে। আবার মনে রাখবেন যে ক্লাউডফ্রন্ট সাধারণত মিডিয়া ফাইলগুলির জন্য ব্যবহৃত হয় (চিত্রগুলি সহ) এবং স্টাইল / জাভাস্ক্রিপ্ট - এবং এইচটিএমএল-তে এত বেশি নয়। মূলত, আপনার এস 3 তে আপনার এইচটিএমএল এবং ক্লাউডফ্রন্টে আপনার চিত্রগুলি থাকবে - আপনার যে কোনও পরিবর্তনগুলির সাথে আপনি ক্লাউডফ্রন্টের ফাইলের নাম পরিবর্তন করতে পারেন (যেমন- ফাইল-ভি 1.jpg, ফাইল-ভি 2.jpg, ইত্যাদি)। আর একটি সাধারণ উপায় সংস্করণ তথ্য সহ কোয়েরি স্ট্রিং সহ।

এছাড়াও, মনে রাখবেন যে ক্লাউডফ্রন্ট গিজিপযুক্ত সামগ্রী পরিবেশন করে না - যার ফলে নিয়মিত সার্ভারের চেয়ে ধীর সাড়া পাওয়া যেতে পারে (যদিও আপনার ক্ষেত্রে এস 3 গিজিপ সক্ষম ব্রাউজারগুলি সনাক্ত করতে পারে না)।

শেষ অবধি, যদি আপনি চান, আপনি ক্লাউডফ্রন্টকে তার বিদ্যমান অনুলিপিটি বাতিল করতে এবং উত্স সার্ভার থেকে একটি নতুন আনতে বাধ্য করতে অবৈধতা ব্যবহার করতে পারেন। নোট করুন, তবে, যে ক্লাউডফ্রন্ট আপনাকে প্রতিমাসে মাত্র 1000 বিনামূল্যে অবৈধতা দেয়, তার পরে ব্যয়টি $ 0.005 / অবৈধকরণ।

সর্বনিম্ন সময় Cloudfront বিষয়বস্তু রাখা হবে 1hr যদিও, ডিফল্ট 24hr হয়। আমি সর্বাধিক বয়সটি কমপক্ষে 3600 এ সেট করার চেষ্টা করব an একটি এস-ম্যাকেজ হেডারটিও বিবেচনা করুন (ভাগ করে নেওয়া - অর্থাত্ প্রক্সাইড সামগ্রী হিসাবে)। অ্যামাজন এই ক্যাচিং টিউটোরিয়ালটির প্রস্তাব দেয় ।

এটি নিয়ে একটি সাম্প্রতিক সমস্যা ছিল , কিছু দিন আগে সংশোধন করা হয়েছিল


এস 3 এর উপরে সিএফ স্টিক করার কারণটি ছিল ওয়ার্নার ভোগেলস তার ব্লগ পোস্টে নিজেই এটি উল্লেখ করেছেন allthingsdistributes.com/2011/02/website_amazon_s3.html । আপনি যেমনটি বলছেন তেমন আমি এস 3 থেকে সরাসরি এইচটিএমএলকে রাউটিং করার কথা বিবেচনা করতে পারি। একটি ছোট্ট দ্রষ্টব্য: ক্যাশে-বুস্টিংয়ের জন্য ফাইলগুলির শেষে একটি ক্যোয়ারী স্ট্রিং যুক্ত করা ভাল ধারণা নয় কারণ এটি কিছু প্রক্সিগুলিকে কখনই ক্যাশে ফেলতে পারে না।
isNaN1247

এই লোকটি প্রতিটি আপলোডের ক্ষেত্রে অবৈধতা ব্যবহার করছে বলে মনে হচ্ছে যা overkill jmlacroix.com
isNaN1247

1
ক্লাউডফ্রন্টের সাথে ক্যোয়ারী স্ট্রিংগুলি কাজ করবে না - এটি ফাইলগুলিকে ক্যাশে করবে না তবে আপনি যদি সরাসরি আপনার সামগ্রী পরিবেশন করেন তবে সেগুলি কার্যকর হতে পারে। এস 3 এর এইচটিএমএল আপনার সেরা বাজি হবে। আপনি অবশ্যই প্রতিটি আপলোডে সবকিছু অকার্যকর করতে চান না, তবে যে ফাইলগুলি পরিবর্তিত হয়েছে তা অবৈধ করা কিছু ক্ষেত্রে যোগ্যতা ছাড়াই নয়। ক্লাউডফ্রন্টের গুণাবলী কেবলমাত্র ভারী পাচার হওয়া সাইটের ক্ষেত্রে প্রাসঙ্গিক হয়ে যায় - আপনার গড় সাইটের জন্য, এস 3 আরও ভাল পারফরম্যান্স সরবরাহ করতে পারে (তাদের উভয় চেষ্টা করে দেখুন এবং দেখুন - বিশেষত ছোট জিনিসগুলির জন্য ক্লাউডফ্রন্ট ধীর হতে পারে)।
সাইবারএক্স 86

2
ক্লাউডফ্রন্ট এখন জিজিপ সংক্ষেপণ সমর্থন করে। ঘোষণা এখানে
গ্রেগ সাদেটস্কি

@ সাইবারএক্স ৮86 সীমা আজকাল ভিন্ন: The minimum expiration time CloudFront supports is 0 seconds for web distributions and 3600 seconds for RTMP distributions. ডকস.এ.এস.এস.জেজন
আমাজনক্লাউডফ্রন্ট

20

আমি বিশ্বাস করি যে এখন পর্যন্ত উত্তরগুলি সঠিক সময়ে, এখন পুরানো, কারণ ক্লাউডফ্রন্ট এখন ন্যূনতম 0 টিটিএল সমর্থন করে, এবং ক্যাশে-বয়স = 0 ব্যবহারের ওপির মূল প্রচেষ্টাটি এখন কাজ করা উচিত।

আপনি সেই অন্যান্য ক্যাশে-নিয়ন্ত্রণ শিরোলেখগুলি ব্যবহার করবেন কিনা তা আপনি সন্ধান করতে চাইবেন, আপনি যে ফলাফলটি সন্ধান করছেন তাতে তারা ফল দেবে কিনা - এই ক্ষেত্রে আপনার কেবল সর্বোচ্চ বয়স প্রয়োজন হতে পারে। আপনি সম্ভবত যা চান তা ক্লাউডফ্রন্টের জন্য এস 3 টি পরীক্ষা করে দেখুন যে এইচটিএমএল ফাইলটি পরিবর্তন হয়েছে কিনা check যদি এটি থাকে তবে ক্লাউডফ্রন্ট নতুন ফাইল আনতে এবং ফিরে আসতে পারে। যদি তা না হয় তবে এটি বিদ্যমান বিদ্যমান ক্যাশে থেকে ক্লায়েন্টকে পরিবেশন করতে পারে (এস 3 ব্যান্ডউইথ সংরক্ষণ করে এবং ক্লায়েন্টকে দ্রুত এবং আরও স্থানীয়ভাবে পরিবেশন করছে)।

ক্লাউডফ্রন্টের মূল বিষয় হ'ল ক্যাশেড বিষয়বস্তু পরিবেশন করা, হ্যাঁ, তবে এখন এটিতে এমন সামগ্রী অন্তর্ভুক্ত রয়েছে যা কখনও কখনও পরিবর্তিত হয় তবে এটি পরিবর্তিত না হলে ক্যাশে যেতে পারে।

পিএস ক্যোয়ারী স্ট্রিংগুলি এখন ক্লাউডফ্রন্টের সাথেও কাজ করে (যদি আপনি প্রাসঙ্গিক উত্সের জন্য 'আচরণ' - অন্য নতুন বৈশিষ্ট্যটি কনফিগার করেন) তবে কিছু প্রক্সি এখনও কোয়েরি স্ট্রিং সহ কোনও ফাইল ক্যাশে করতে ব্যর্থ হতে পারে।

অ্যামাজন বিকাশকারী গাইড: মেয়াদোত্তীর্ণ 1


-1

ক্লাউডফ্রন্ট কীভাবে আপনার নিজের মতো শিরোনামের সাথে আচরণ করে তা নিশ্চিত নয়, তবে আপনি কোনও শিরোনাম নির্দিষ্ট না করলে অবজেক্টগুলিকে রিফ্রেশ করার জন্য ডিফল্ট সময় 24 ঘন্টা হয়।

অবজেক্টগুলি রিফ্রেশ করতে আপনি যে কাজ করতে পারেন তার মধ্যে একটি হ'ল বিষয়বস্তু অবৈধ। আরও তথ্যের নীচের লিঙ্কটি দেখুন। http://blog.cloudberrylab.com/2010/08/how-to-manage-cloudfront-object.html

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.