شاید تا به حال برای شما پیش آمده باشد که در حین کار با سرویسهای وب و APIها با مشکلاتی مواجه شده باشید که تشخیص علت آنها دشوار باشد. در دنیای وب، سربرگهای HTTP یکی از ابزارهایی هستند که به ما کمک میکنند تا اطلاعات مهمی را انتقال دهیم و مشکلات را تشخیص دهیم. سربرگ NEL
(Network Error Logging) نیز یکی از این ابزارهاست که به توسعهدهندگان کمک میکند تا خطاهای شبکه را به طور مفصل تری ردیابی و گزارش کنند.
سربرگ NEL
امکان ثبت و گزارش خطاهای شبکه را فراهم میکند، به طوری که اطلاعات دقیقتری از خطاهای رخ داده در سمت کاربر به سمت سرور ارسال میشود. این سربرگ به برنامهنویسان کمک میکند تا مشکلات پیچیده را بهتر درک کنند و برای بهبود تجربه کاربری اقدامات لازم را انجام دهند.
ساختار سربرگ NEL
سربرگ NEL از یک JSON استفاده میکند که شامل جزئیات دقیقتری از نحوه و زمان گزارش خطاهاست. در این ساختار میتوانید مشخص کنید که کدام خطاها باید گزارش شوند و به کجا ارسال شوند.
مثالی از ساختار کد برای مقداردهی و استفاده از سربرگ NEL به صورت زیر است:
fetch('https://api.example.com/data', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'NEL': '{ "report_to": "endpoint", "max_age": 2592000, "failure_fraction": 1.0 }'
}
});
توضیح کد خط به خط
fetch('https://api.example.com/data', {
در این خط، تابع fetch برای ارسال یک درخواست GET به URL مشخص استفاده میشود.
method: 'GET',
این گزینه نشان میدهد که نوع درخواست HTTP از نوع GET است.
headers: {
در این بخش، سربرگهای HTTP مشخص میشوند.
'Content-Type': 'application/json',
نوع محتوای درخواست را مشخص میکند که در اینجا JSON است.
'NEL': '{ "report_to": "endpoint", "max_age": 2592000, "failure_fraction": 1.0 }'
سربرگ NEL را مقداردهی میکند که شامل تنظیمات گزارش خطاها مانند آدرس مقصد گزارشها، مدت زمان معتبر بودن، و درصد وقوع خطاها است.
}
پایان قسمت سربرگها.
});
پایان تابع fetch.