ক্লাউডফ্লেয়ার: ইউআরএল-এ কোয়েরি স্ট্রিং থাকলে ক্যাশে স্ট্যাটিক এইচটিএমএল


10

আপনার জন্য দ্রুত ক্লাউডফ্লেয়ার 'নতুন ব্যবহারকারী' প্রশ্ন:

ব্যাকগ্রাউন্ড: আমার উত্স সার্ভার দ্বারা পরিবেশন করা HTML পৃষ্ঠাগুলি কখনই পরিবর্তন হয় না। ব্যবহারকারীর ব্রাউজারে পৃষ্ঠাটি লোড হওয়ার পরে সমস্ত গতিশীল সামগ্রী জাভাস্ক্রিপ্টের মাধ্যমে ডাউনলোড করা হয়। জাভাস্ক্রিপ্ট দ্বারা উত্পন্ন গতিশীল বিষয়বস্তু URL এর ক্যোয়ারী স্ট্রিংয়ের উপর নির্ভর করে তবে মূলত ডাউনলোড করা HTML বিষয়বস্তুটিতে ক্যোয়ারী স্ট্রিংটির কোনও প্রভাব নেই। নিম্নলিখিত URL গুলি সমস্ত ব্রাউজারে জাভাস্ক্রিপ্ট দ্বারা অভিনয় করার আগে উত্স থেকে ঠিক একই HTML তৈরি করে:

https://www.example.com/private/my-investments?portfolioID=296

https://www.example.com/private/my-investments?portfolioID=325

https://www.example.com/private/my-investments?portfolioID=319

প্রশ্ন: ক্লাউডফ্লেয়ার এইচটিএমএলকে ডিফল্টরূপে ক্যাশে করে না, আমি কীভাবে আমার পৃষ্ঠা বিধিগুলি তৈরি করব যাতে https://www.example.com/private/my-inmentsments?selanyValue] এর একক ক্যাশেড অনুলিপি সমস্ত ব্যবহারকারীর কাছে ফিরে আসে? ? এখানে আমি চেষ্টা করেছি:

"সমস্ত কিছু ক্যাচ করুন:" 'ক্যাশে সমস্ত কিছু' নির্দেশিকা ব্যবহারের ফলে আমার এইচটিএমএল ক্যাশে (ভাল) হয়ে যায় তবে এটি ক্যাশে কী (খারাপ) এর অংশ হিসাবে পুরো ক্যোয়ারী স্ট্রিংটি ব্যবহার করে। সুতরাং যদি কোনও ব্যবহারকারী নিম্নলিখিত URL টি হিট করে ...

https://www.example.com/private/my-investments?portfolioID=296

... এবং তারপরে দশ সেকেন্ড পরে একই ইউআরএলটিকে আলাদা ক্যোয়ারী স্ট্রিং সহ হিট করে, যেমন:

https://www.example.com/private/my-investments?portfolioID=325

... ক্লাউডফ্লেয়ার সেই অনুরোধটিকে ক্যাশে এমআইএসএস (সিএফ-ক্যাশে-স্থিতি: এমআইএসএস) হিসাবে বিবেচনা করে এবং আমার উত্সের সার্ভারটি আবার হিট করে। এটি উত্স থেকে ফিরে আসা এইচটিএমএল উভয়ই ইউআরএল এর জন্য অভিন্ন the

"IGNore QUERY STRING ক্যাচিং:" আমি "IGNORE QUERY STRING ক্যাচিং" বিকল্পটি নির্বাচন করে নিশ্চিত হয়েছি যে আমি এই সমস্যাটি সমাধান করব। পৃষ্ঠার নিয়মে এই বিকল্পটি ব্যবহার করার সময় কোনও HTML কোনও ক্ষেত্রেই ক্যাশে হয় না; কেবলমাত্র .js, .css এবং .png ফাইলগুলি ক্যাশে করা হয়। এবং আবার আমার উত্স এইচটিএমএল ডেটার জন্য প্রতিটি একক কলের জন্য হিট হয়ে যায়। :(

আমার মনে হচ্ছে আমি অবশ্যই স্পষ্ট কিছু মিস করছি। কোন চিন্তা?

আপডেট : আমি আপনার দ্বারা চালিত করতে চান একটি ধারণা ছিল। আমার অভ্যন্তরীণ ইউআরএল স্কিমটি 'এর পরিবর্তে' # 'ব্যবহার করে এই সমস্যাটি সমাধান করতে পারি? সুতরাং পরিবর্তে যেমন একটি URL ...

https://www.example.com/private/my-investments?portfolioID=296

..আমি এরকম কিছু ব্যবহার করব:

https://www.example.com/private/my-investments#portfolioID=296

এটি ক্যোয়ারিং স্ট্রিং প্যারামিটারগুলিকে একেবারে ক্লাউডফ্লেয়ারে সংক্রমণ হতে বাধা দেবে ... আপনি কী ভাবেন?

ফীষ্ট


"#" এর পরিবর্তে "#" ব্যবহার করছেন? URL- এ সমস্যার সমাধান হয়েছে। সিসপস এগিয়ে যেতে পারে এবং আমার প্রশ্নটি মুছতে পারে।
ফেস্টাস মার্টিংগেল

4
অন্যরা এখানে আপনি যা আবিষ্কার করেছেন তা থেকে শিখতে পারে, তাই আপনি উত্তর হিসাবে কিছুটা বাড়িয়ে দিতে পারেন (কিছুটা বিশদভাবে) এবং আপনি যখন পারেন তখন তা মেনে নিতে পারেন। ধন্যবাদ।
ড্যান

উত্তর:


4

(উত্তর হিসাবে ফেস্টাস মার্টিংলে প্রশ্নের উত্তর হিসাবে চিহ্ন যুক্ত করা হয়েছে)

প্রতিস্থাপন করা হচ্ছে ?একটি সঙ্গে #সমস্যার সমাধান যেমন cloudflare প্রেরিত হওয়া থেকে কোয়েরি স্ট্রিং বাধা দেয় যেমন একটি হ্যাশ টুকরা হিসাবে প্রদর্শিত হবে।


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