nginx ফাঁকা 200 প্রতিক্রিয়া প্রেরণ


19

আমি যে কোনও আগমন অনুরোধ গ্রহণ করার দায়িত্ব দেওয়া একটি ফেলওভার সার্ভারটি কনফিগার করছি এবং 200 টি ফাঁকা প্রতিক্রিয়া দিয়ে উত্তর দেব। উত্তরটি হ'ল ন্যূনতম করা এবং আমরা কোনও 40x বা 50x প্রেরণ করব না তা নিশ্চিত করা The

আমি return 200;এনগিনেক্সের মধ্যে পছন্দসই অবস্থানগুলির জন্য ব্যবহার করার চেষ্টা করেছি , তবে আমার মনিটরিং সিস্টেমগুলি (পিংডম) প্রতিক্রিয়া পছন্দ করে না এবং সার্ভারটি প্রতিক্রিয়া করছে না তা বিবেচনা করে।

সার্ভারে ন্যূনতম ওভারহেড সহ এটি করার আরও ভাল উপায় আছে কি?

উত্তর:


23

এইচটিটিপি স্থিতি কোড 204 No Contentবলতে বোঝানো হয়েছে "আমি অনুরোধটি শেষ করেছি, তবে ফেরার মতো কোনও শরীর নেই":

10.2.5 204 কোনও সামগ্রী নেই

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

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

২০৪ এর প্রতিক্রিয়াতে কোনও বার্তা-শৃঙ্খলা অন্তর্ভুক্ত করা উচিত নয় এবং এটি শিরোনাম ক্ষেত্রগুলির পরে সর্বদা প্রথম খালি লাইন দ্বারা সমাপ্ত হয়।


হ্যালো অ্যালেক্স নোটের জন্য ধন্যবাদ। আজ অবধি 204 টি প্রতিক্রিয়া কোড সমস্ত বড় ব্রাউজার দ্বারা স্বীকৃত কিনা তা অবাক করেই ভাবছি। উদাহরণস্বরূপ, যদি আমার সার্ভারটি 204 চারপাশে প্রেরণ শুরু করে, তবে কিছু দর্শকের (ব্রাউজার, মোবাইল, টার্মিনাল জুড়ে) কোনও ত্রুটি হওয়ার সম্ভাবনা কি আছে?
স্পর্শ গুপ্ত

1
@ স্পর্শগুপ্ত আমি ব্রাউজারের সামঞ্জস্যের বিশেষজ্ঞ নই, দুঃখিত। আমি কয়েকটি ব্রাউজারে দ্রুত চেক করেছি (ম্যাক ওএসএক্স এর অধীনে এফএফ 7 এবং সাফারি) - তারা ঠিক কিছুই করে না। উদাহরণস্বরূপ, আপনার যদি ইতিমধ্যে কোনও পৃষ্ঠা খোলা থাকে তবে আপনি 204 ফেরত URL টি URL বারে প্রবেশ করুন এবং এন্টার টিপুন, উভয় ব্রাউজার এখনও পূর্ববর্তী পৃষ্ঠাটি দেখায়।
আলেকজান্ডার আজারভ

29

আপনি এনজিঞ্জের মতো একটি কনফিগার ব্লক করে খালি HTTP 200 ফিরিয়ে দিতে পারেন:

location = /health {
  return 200;
  #access_log off;
}

আপনি access_logযদি চান না যে এই সমস্ত স্বাস্থ্য পরীক্ষার লগইন করা না হয় তবে আপনি লাইনটি কোনওরকম করতে পারবেন না।


6
এটি লক্ষ করা উচিত যে অবস্থানের পরে '=' চিহ্নটি গুরুত্বপূর্ণ। এটি ব্যতীত, ফাইলটি অবশ্যই উপস্থিত থাকতে হবে, অন্যথায় এনজিনেক্স 200 ফিরিয়ে দেবে না it এটির সাহায্যে আপনি যে কোনও অবস্থান সন্ধান করতে পারেন এবং ফাইলগুলি নিয়ে চিন্তা করবেন না এবং এনজিনেক্স আনন্দের সাথে 200 ফিরিয়ে দেবে
ফ্লোরিন আন্ড্রেই

এটি কীভাবে মৌলিক লেখার সাথে একত্রিত করবেন, যেমন প্রমাণীকরণের অনুরোধটি 200 ফেরত পাঠায় এবং 401 ছাড়পত্রহীন?
কিরিল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.