Notice: We're retiring Works with Nest. See the home page for more information.
Google is committed to advancing racial equity for Black communities. See how.
This page was translated by the Cloud Translation API.
Switch to English

পুনঃনির্দেশগুলি কীভাবে পরিচালনা করবেন

কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজে এইচটিটিপি বাস্তবায়ন রয়েছে যার পুনঃনির্দেশগুলির জন্য বিশেষ হ্যান্ডলিং প্রয়োজন।

একটি REST এপিআইয়ের অনুরোধের প্রতিক্রিয়া হিসাবে, নেস্ট এপিআই সার্ভার একটি পুনর্নির্দেশ ফেরত দেয়। REST ক্লায়েন্ট পুনঃনির্দেশ সনাক্ত করে এবং সেই পৃষ্ঠাটির জন্য অনুরোধ করে যা ক্লায়েন্টকে পুনঃনির্দেশিত হয়েছিল। কিছু HTTP বাস্তবায়ন অনুমোদন শিরোনামকে পুনঃনির্দেশিত ইউআরআইতে ফরোয়ার্ড করে না এবং এর ফলে 401 অননুমোদিত ত্রুটি হয়।

উদাহরণস্বরূপ, ধরুন আপনি foo.com জিজ্ঞাসা করেছেন। Foo.com সার্ভার বার ডট কমকে পুনর্নির্দেশ দিয়ে সাড়া দেয়। পোস্টম্যান বা কার্ল কর্তৃপক্ষের শিরোনামকে foo এবং তারপরে বারে পাস করে। অন্যান্য এইচটিটিপি বাস্তবায়নগুলি, যেমন গোলং এবং পাইথনগুলি স্বয়ংক্রিয়ভাবে অনুমোদনের শিরোনামটিকে পুনঃনির্দেশিত ইউআরআইতে দেয় না।

কিভাবে এটা কাজ করে

নীচের ক্রম চিত্রটি পুনর্নির্দেশ ঘটে তখন কী ঘটে তা দেখায়।

পুনর্নির্দেশ ক্রম

তুলনার জন্য, পুনর্নির্দেশ ঘটে না তখন যা ঘটে তা এখানে।

পুনর্নির্দেশের অনুক্রম নেই

উদাহরণ

সাধারণত, আপনার ভাষার এইচটিটিপি বাস্তবায়ন অনুমোদনের শিরোনামটি পাস না করে এমনটি অনুমান করার জন্য এটি একটি ভাল কোডিং অনুশীলন।

আপনার কোডটি স্বয়ংক্রিয় পুনঃনির্দেশকে আটকাতে হবে এবং শিরোনামগুলি পিছনে যুক্ত করার পরে পুনঃনির্দেশ কল করা উচিত।

উদাহরণস্বরূপ, গোতে আপনি এটি করতে পারেন:

customClient := http.Client {
    CheckRedirect: func(redirRequest *http.Request, via []*http.Request)
    error {
        // Go's http.DefaultClient does not forward headers when a redirect 3xx
        // response is received. Thus, the header (which in this case contains the
        // Authorization token) needs to be passed forward to the redirect
        // destinations.
        redirRequest.Header = req.Header

        // Go's http.DefaultClient allows 10 redirects before returning an
        // an error. We have mimicked this default behavior.s
        if len(via) >= 10 {
            return errors.New("stopped after 10 redirects")
        }
        return nil
    },
}

আরও উদাহরণের জন্য দেখুন:

পুনঃনির্দেশিত অবস্থান সংরক্ষণ করুন

প্রতি ব্যবহারকারীের ভিত্তিতে পুনঃনির্দেশিত অবস্থান সংরক্ষণ করাও সেরা অনুশীলন। অন্য কথায়, কোনও ব্যবহারকারী সাইন ইন করার পরে এবং একটি পুনর্নির্দেশ পাওয়ার পরে, ফায়ারবেস-apiserver03-tah01-iad01.dapi.pr Prod.nest.com:9553/ অবস্থান সংরক্ষণ করুন এবং পরবর্তী সমস্ত অনুরোধগুলি সরাসরি এই ইউআরআইতে করুন।

পুনঃনির্দেশিত অবস্থানটি সংরক্ষণ করা সময় সাশ্রয় করে এবং অপ্রয়োজনীয় সার্ভার লোড প্রতিরোধ করে।

পুনঃনির্দেশগুলি কীভাবে রেট সীমাবদ্ধতার সাথে সম্পর্কিত সে সম্পর্কে আরও জানতে, ডেটা রেট সীমাগুলি দেখুন

এপিআই পরীক্ষা করতে কার্ল ব্যবহার করে

কার্ল> = v7.58 ব্যবহার করার সময়, আপনি পুনরায়নির্দেশগুলি জড়িত এপিআইতে কল থেকে 401 অননুমোদিত ত্রুটি পেতে পারেন। কার্ল v7.58 হিসাবে, কাস্টম অনুমোদনের শিরোনামগুলি API দ্বারা ফেরত পুনঃনির্দেশ URL এ ফরোয়ার্ড করা হয় না।

কার্ল> = v7.58 এ অ্যাকাউন্ট করতে, কোনও কমান্ড লাইন কল সহ --location-trusted পতাকা ব্যবহার করুন।