আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান । তথ্য
এই বিষয় বর্ণনা করে যে কিভাবে এজ HTTP/1.1 ক্যাশিং হেডারগুলি পরিচালনা করে যখন আপনি ResponseCache নীতি ব্যবহার করছেন। Apigee Edge বর্তমানে ব্যাকএন্ড টার্গেট (অরিজিন) সার্ভার থেকে প্রাপ্ত HTTP/1.1 ক্যাশিং হেডার এবং নির্দেশাবলীর (অসমর্থিত বৈশিষ্ট্যগুলি এই বিষয়ে তালিকাভুক্ত করা হয়েছে) এর একটি উপসেট সমর্থন করে।
উপরন্তু, নির্দিষ্ট শিরোনামগুলির সাথে এজ তাদের নির্দেশের উপর ভিত্তি করে ব্যবস্থা নেয়। কিছু ক্ষেত্রে, এই HTTP/1.1 ক্যাশে হেডারগুলি রেসপন্সক্যাশ নীতিতে নির্দিষ্ট করা যাই হোক না কেন আচরণকে ওভাররাইড করে। উদাহরণস্বরূপ, যদি Cache-Control
হেডারটি ব্যাকএন্ড সার্ভার থেকে ফেরত দেওয়া হয়, তাহলে আপনি হেডারের s-maxage
নির্দেশিকা নীতির অন্যান্য মেয়াদ শেষ হওয়ার সেটিংসকে সম্ভাব্যভাবে ওভাররাইড করতে পারেন।
হেডার | সমর্থন |
---|---|
ক্যাশে-নিয়ন্ত্রণ | ব্যাকএন্ড অরিজিন সার্ভার থেকে ফিরে আসা প্রতিক্রিয়াগুলিতে সমর্থিত, কিন্তু ক্লায়েন্ট অনুরোধ নয়। এজ নির্দেশাবলীর একটি উপসেট সমর্থন করে। |
মেয়াদ শেষ | সমর্থিত। ওভাররাইড করা যেতে পারে। |
সত্তা ট্যাগ (ETags) | If-Match এবং If-None-Match এর জন্য নির্দিষ্ট আচরণ। |
যদি-পরিবর্তিত-যখন থেকে | GET অনুরোধে, একটি বৈধ ক্যাশে এন্ট্রি থাকলেও হেডারটি অরিজিন সার্ভারে পাঠানো হয়। |
স্বীকার-এনকোডিং | এজ ইনকামিং হেডারের উপর নির্ভর করে সংকুচিত বা অসংকুচিত প্রতিক্রিয়া পাঠায়। |
ক্যাশে-নিয়ন্ত্রণ
Apigee Edge শুধুমাত্র ব্যাকএন্ড অরিজিন সার্ভার থেকে প্রত্যাবর্তিত প্রতিক্রিয়াগুলিতে Cache-Control
শিরোনাম সমর্থন করে (HTTP/1.1 স্পেক ক্লায়েন্ট অনুরোধ এবং অরিজিন সার্ভার প্রতিক্রিয়া উভয় ক্ষেত্রেই Cache-Control
হেডারকে অনুমতি দেয়)। অরিজিন সার্ভারগুলি এপিজি এজ এপিআই প্রক্সিতে সংজ্ঞায়িত টার্গেট এন্ডপয়েন্ট এবং TargetServer API কল ব্যবহার করে তৈরি করা উভয়ই অন্তর্ভুক্ত করতে পারে।
ক্যাশে-নিয়ন্ত্রণ সমর্থন সীমাবদ্ধতা
Apigee Edge HTTP/1.1 স্পেসিফিকেশনে সংজ্ঞায়িত Cache-Control
রেসপন্স হেডার ক্ষমতার একটি উপসেট সমর্থন করে। নিম্নলিখিত নোট করুন:
- Apigee Edge
Cache-Control
শিরোনাম সমর্থন করে না যা অন্তর্মুখী ক্লায়েন্ট অনুরোধের সাথে আসে। - Apigee Edge শুধুমাত্র পাবলিক ক্যাশে ধারণা সমর্থন করে। (HTTP স্পেসিফিকেশন অনুযায়ী,
Cache-Control
হয় সর্বজনীন (ভাগ করা) বা ব্যক্তিগত (একক ব্যবহারকারী) হতে পারে।) - Apigee Edge HTTP/1.1 স্পেসিফিকেশনে
Cache-Control
প্রতিক্রিয়া নির্দেশাবলীর শুধুমাত্র একটি উপসেট সমর্থন করে। বিস্তারিত জানার জন্য ক্যাশে-কন্ট্রোল রেসপন্স হেডার নির্দেশাবলীর জন্য সমর্থন দেখুন।
ক্যাশে-কন্ট্রোল প্রতিক্রিয়া হেডার নির্দেশাবলীর জন্য সমর্থন
Apigee মূল সার্ভার থেকে প্রতিক্রিয়ার উপর HTTP/1.1 স্পেসিফিকেশন থেকে একটি উপসেট নির্দেশাবলী সমর্থন করে। নিম্নলিখিত সারণী HTTP ক্যাশে-কন্ট্রোল প্রতিক্রিয়া শিরোনাম নির্দেশাবলীর জন্য Apigee এজ সমর্থন বর্ণনা করে।
এখানে তালিকাভুক্ত নির্দেশাবলী সম্পর্কে আরও বিস্তারিত তথ্যের জন্য, HTTP/1.1 স্পেসিফিকেশনে ক্যাশে-কন্ট্রোল দেখুন।
ক্যাশে-কন্ট্রোল নির্দেশিকা | Apigee Edge কিভাবে নির্দেশিকা প্রক্রিয়া করে |
cache-extension | সমর্থিত নয়। |
max-age | যদি আপনার ResponseCache নীতি এই নির্দেশটি |
must-revalidate | সমর্থিত নয়। সমস্ত ক্যাশে এন্ট্রি মেয়াদ শেষ হওয়ার সাথে সাথে Apigee Edge দ্বারা মুছে ফেলা হয়। |
no-cache | এজ অরিজিন রেসপন্স ক্যাশে করে, কিন্তু পরবর্তী ক্লায়েন্টের অনুরোধ মেটাতে ব্যবহার করার আগে এটিকে অরিজিন সার্ভারের সাথে পুনরায় যাচাই করতে হবে। এই নিয়মটি অরিজিনকে একটি 304 নট মডিফাইড প্রতিক্রিয়া ফেরত দেওয়ার অনুমতি দেয় যাতে নির্দেশ করে যে প্রতিক্রিয়াটি ক্যাশে থেকে ফেরত দেওয়া উচিত, এইভাবে সম্পূর্ণ প্রতিক্রিয়া ফেরত দেওয়ার জন্য প্রয়োজনীয় প্রক্রিয়াকরণ সংরক্ষণ করা হয়। যদি অরিজিন সার্ভার একটি সম্পূর্ণ প্রতিক্রিয়া প্রদান করে, এটি বিদ্যমান ক্যাশে এন্ট্রি প্রতিস্থাপন করে। এই নির্দেশের সাথে নির্দিষ্ট কোনো ক্ষেত্রের নাম উপেক্ষা করা হয়। |
no-store | সমর্থিত নয়। |
no-transform | সমর্থিত নয়। |
private | সমর্থিত নয়। এই নির্দেশ প্রাপ্ত হলে, মূল প্রতিক্রিয়া ক্যাশে করা হয় না. যেকোনো ক্ষেত্রের নাম উপেক্ষা করা হয়। |
proxy-revalidate | সমর্থিত নয়। সমস্ত ক্যাশে এন্ট্রি মেয়াদ শেষ হওয়ার সাথে সাথে Apigee Edge দ্বারা মুছে ফেলা হয়। |
public | এজ মূল প্রতিক্রিয়া ক্যাশে করে, এমনকি যখন অন্যান্য নির্দেশ অন্যথায় নির্দেশ করে। HTTP/1.1 স্পেসিফিকেশন অনুসারে, এই নিয়মের একমাত্র ব্যতিক্রম যদি প্রতিক্রিয়াটিতে একটি অনুমোদন শিরোনাম অন্তর্ভুক্ত থাকে। |
s-maxage | যদি আপনার ResponseCache নীতি এই নির্দেশটি |
মেয়াদ শেষ
যখন ResponseCache নীতিতে UseResponseCacheHeaders
পতাকা true
সেট করা হয়, তখন এজ একটি ক্যাশে করা এন্ট্রির লাইভ (TTL) সময় নির্ধারণ করতে Expires
শিরোনাম ব্যবহার করতে পারে। এই শিরোনামটি একটি তারিখ/সময় নির্দিষ্ট করে যার পরে একটি প্রতিক্রিয়ার ক্যাশে এন্ট্রি পুরানো বলে বিবেচিত হয়। এই শিরোনামটি সার্ভারগুলিকে সংকেত দেওয়ার অনুমতি দেয় যখন এটি একটি টাইম স্ট্যাম্পের উপর ভিত্তি করে ক্যাশে করা মান ফেরত দেওয়া ঠিক হয়।
Expires
শিরোনামের জন্য গ্রহণযোগ্য তারিখ বিন্যাস HTTP/1.1 স্পেসিফিকেশনে বর্ণনা করা হয়েছে। যেমন:
মেয়াদ শেষ হবে: বৃহস্পতি, 01 ডিসেম্বর 1994 16:00:00 GMT
HTTP তারিখ/সময় বিন্যাস সম্পর্কে বিস্তারিত তথ্যের জন্য, HTTP/1.1 স্পেসিফিকেশনে তারিখ/সময় বিন্যাস দেখুন।
Expires
শিরোনাম সম্পর্কে আরও তথ্যের জন্য, HTTP/1.1 স্পেসিফিকেশনে হেডার ফিল্ডের সংজ্ঞা দেখুন।
ETag
একটি সত্তা ট্যাগ (ETag) একটি অনুরোধকৃত সম্পদের সাথে যুক্ত একটি শনাক্তকারী৷ একটি ETag ব্যবহার করে, একটি সার্ভার নির্ধারণ করতে পারে যে অনুরোধ করা সংস্থান এবং সংশ্লিষ্ট ক্যাশে করা সংস্থান মিলছে কিনা৷ উদাহরণস্বরূপ, সার্ভার প্রতিক্রিয়াটিকে পুনরায় ক্যাশে করতে পারে যদি এটি বর্তমানে ক্যাশ করা হয়েছে তার সাথে মেলে না। ETags মিলে গেলে এটি ক্যাশ করা সম্পদ ফেরত দিতে পারে।
যখন একটি টার্গেট এন্ডপয়েন্ট একটি ETag সহ এজ-এ একটি প্রতিক্রিয়া পাঠায়, তখন এজ প্রতিক্রিয়া সহ ETag কে ক্যাশ করে৷
আপনি HTTP/1.1 স্পেসিফিকেশনে প্রোটোকল প্যারামিটারে এন্টিটি ট্যাগ সম্পর্কে আরও পড়তে পারেন।
যদি-ম্যাচ
If-Match
রিকোয়েস্ট হেডারের সাথে, একটি ক্যাশে করা সত্তা বর্তমান থাকে যদি হেডারের ETag ক্যাশে করা ETag-এর সাথে মেলে। GET ছাড়া অন্য যেকোনো অনুরোধ যা একটি If-Match
শিরোনাম নির্দিষ্ট করে তা নিশ্চিত করতে অরিজিন সার্ভারে পাঠানো হয় যাতে কোনো অরিজিন ক্যাশিং সুবিধার অনুরোধ প্রক্রিয়া করার সুযোগ থাকে।
আপনি HTTP/1.1 স্পেসিফিকেশনে হেডার ফিল্ডের সংজ্ঞাগুলিতে If-Match
সম্পর্কে আরও পড়তে পারেন।
যদি এজ একটি ক্লায়েন্টের কাছ থেকে একটি অন্তর্মুখী GET অনুরোধ পায় যাতে একটি If-Match
হেডার রয়েছে:
যদি | তারপর |
---|---|
If-Match হেডার এক বা একাধিক ETag উল্লেখ করে |
|
If-Match হেডার "*" নির্দিষ্ট করে | অনুরোধটি অরিজিন সার্ভারে প্রেরণ করা হয়েছে যাতে নিশ্চিত করা হয় যে কোনও অরিজিন ক্যাশিং সুবিধার অনুরোধটি প্রক্রিয়া করার সুযোগ রয়েছে |
একই অনুরোধ URI সহ একটি ক্যাশে এন্ট্রি পাওয়া গেছে, কিন্তু এতে শুধুমাত্র দুর্বল ETags রয়েছে | ক্লায়েন্টের কাছে ফেরত দেওয়ার আগে এন্ট্রিটি অরিজিন সার্ভার দ্বারা পুনরায় যাচাই করা উচিত |
ETags অরিজিন সার্ভার থেকে আসে। | ETag অপরিবর্তিত ক্লায়েন্টকে ফেরত দেওয়া হয় |
If-None-Match
If-None-Match
হেডারের সাথে, একটি ক্যাশে করা সত্তা বর্তমান থাকে যদি হেডারের ETag ক্যাশে করা ETag-এর সাথে মেলে না । এই শিরোনাম ধারণ করা একটি GET ছাড়া অন্য অনুরোধগুলি অরিজিন সার্ভারে পাঠানো হয়।
যদি এজ এই হেডারের সাথে একটি অন্তর্মুখী GET অনুরোধ পায়:
যদি | তারপর |
---|---|
If-None-Match হেডার এক বা একাধিক ETag উল্লেখ করে |
|
| এজ একটি 304 নট মডিফাইড স্ট্যাটাস প্রদান করে |
একই অনুরোধ ইউআরআই সহ একটি ক্যাশে এন্ট্রি পাওয়া গেছে তবে এতে শুধুমাত্র দুর্বল ইটিগ রয়েছে | এজ ক্লায়েন্টের কাছে ফেরত দেওয়ার আগে এন্ট্রিটি অরিজিন সার্ভার দ্বারা পুনরায় যাচাই করা উচিত |
এজ একটি অরিজিন সার্ভার থেকে একটি ETag পায় | ETag অপরিবর্তিত ক্লায়েন্টকে ফেরত দেওয়া হয় |
যদি-পরিবর্তিত-যখন থেকে
Apigee Edge যদি একটি GET অনুরোধে একটি If-Modified-Since
শিরোনাম পায়, তাহলে একটি বৈধ ক্যাশে এন্ট্রি থাকা সত্ত্বেও এটি অরিজিন সার্ভারে পাঠানো হয়।
এটি নিশ্চিত করে যে Apigee Edge-এর মধ্য দিয়ে না যাওয়া কোনো রিসোর্সের যেকোনো আপডেটের জন্য হিসাব করা হয়েছে। যদি অরিজিন সার্ভার একটি নতুন সত্তা ফেরত দেয়, তাহলে এজ বিদ্যমান ক্যাশে এন্ট্রিটিকে নতুন মান দিয়ে প্রতিস্থাপন করে। যদি সার্ভার একটি 304 নট মডিফাইড স্ট্যাটাস প্রদান করে, যদি ক্যাশড রেসপন্সের Last-Modified
হেডার ইঙ্গিত করে যে এটি পরিবর্তিত হয়নি তাহলে এজ রেসপন্স ভ্যালু প্রদান করে।
স্বীকার-এনকোডিং
যখন একটি ইনকামিং অনুরোধে gzip
, deflate
বা compress
এর মান সহ হেডার Accept-Encoding
অন্তর্ভুক্ত থাকে, তখন অরিজিন সার্ভার সংকুচিত ডেটার সাথে প্রতিক্রিয়া জানায়। যখন পরবর্তী অনুরোধগুলি Accept-Encoding
শিরোনাম ছাড়াই আসে, তখন তারা একটি অসংকুচিত প্রতিক্রিয়া আশা করে। Apigee এর রেসপন্স ক্যাশিং মেকানিজম অরিজিন সার্ভারে ফিরে না গিয়ে ইনকামিং হেডারের উপর নির্ভর করে কম্প্রেসড এবং আনকম্প্রেসড উভয় প্রতিক্রিয়া পাঠাতে সক্ষম।
প্রতিটি ক্যাশ করা আইটেমের জন্য কীগুলিকে আরও অর্থবহ করতে আপনি ক্যাশে কীগুলির সাথে যুক্ত হেডার মানগুলি গ্রহণ করতে পারেন৷ আরও বিশদ বিবরণের জন্য, প্রতিক্রিয়া ক্যাশে নীতিতে "একটি ক্যাশে কী কনফিগার করা" দেখুন।