Network در برنامهنویسی وب
Network به معنای شبکه، شامل مجموعهای از دستگاهها و سیستمهایی است که بههم متصل شده و دادهها را بین یکدیگر منتقل میکنند. اینترنت نمونهای از یک شبکه جهانی است که ارتباطات بیشماری را برقرار میکند.
در برنامهنویسی وب، شبکه به نحوه انتقال دادهها بین سرویسدهنده (Server) و سرویسگیرنده (Client) اشاره دارد. این ارتباط از طریق پروتکلها صورت میگیرد.
پروتکلهای رایج در شبکههای وب:
HTTP/HTTPS: پروتکل انتقال وب، پایه اکثر ارتباطات اینترنتی است.
TCP/IP: پروتکلهای بنیادی برای انتقال دادهها در شبکههای اینترنتی.
WebSocket: پروتکلی برای ارتباطات دوطرفه در زمان واقعی (Real-time).
اهمیت شبکه در برنامهنویسی وب
انتقال دادهها بین کلاینت و سرور.
پشتیبانی از سرویسهای مختلف مانند APIها، وبسایتها و اپلیکیشنهای موبایل.
مدیریت ارتباطات ایمن و بهینه.
بررسی تب Network در مرورگر
تب Network در ابزارهای توسعهدهنده مرورگر (Inspect) امکان مشاهده و تحلیل درخواستها و پاسخهای HTTP را فراهم میکند. این تب به شما اجازه میدهد تا درخواستهای ارسال شده به سرور و دادههای دریافتی را بررسی کنید.
با استفاده از تب Network میتوانید نحوه دریافت کدها و دادهها از سرور سایتی مانند seed.Photo را مشاهده و تحلیل کنید. همچنین تب Source به شما امکان مشاهده کدهای منبع و دادههای سایت را میدهد.
REST API: راهکاری برای ارتباط سرویسها
REST API یا Representational State Transfer یک استاندارد معماری برای طراحی Application Programming Interfaces است. این استاندارد امکان ارتباط ساده و کارآمد بین سیستمهای مختلف را فراهم میکند.
همچنین به شما اجازه میدهد تا درخواستهای اطلاعات را به سرور ارسال کرده و پاسخها را دریافت کنید. این درخواستها معمولاً با فرمت JSON یا XML دریافت میشوند. JSON فرمتی سبکتر و قابلفهمتر نسبت به XML است و برای تبادل دادهها در وب استفاده میشود.
اصول طراحی REST API:
- Stateless (بیحالت بودن): هر درخواست بهطور مستقل پردازش میشود و اطلاعاتی از درخواستهای قبلی ذخیره نمیشود.
- Resource-based (بر اساس منابع): هر منبع یک URL مشخص دارد، مثل
/users/1
. - HTTP Methods (متدهای HTTP):
GET
: دریافت دادهها.POST
: ایجاد داده جدید.PUT
: بهروزرسانی دادهها.DELETE
: حذف دادهها.
- JSON/XML: استفاده از فرمتهای استاندارد برای انتقال دادهها.
مزایای REST API:
- ساده و خوانا برای توسعهدهندگان.
- قابل استفاده در پلتفرمهای مختلف.
- سازگاری با پروتکلهای وب مانند HTTP.
کاربردهای REST API:
- توسعه اپلیکیشنهای موبایل.
- ارتباط بین سرویسهای مایکروسرویس.
- یکپارچهسازی با سرویسهای خارجی مانند درگاههای پرداخت یا سرویسهای نقشه.
REST API ، بکاند و فرانتاند
برای ارتباط بین برنامهنویسان بکاند و فرانتاند از API استفاده میشود. برنامه Postman یکی از ابزارهای قدرتمند برای دسترسی و تست APIها است. شما میتوانید درخواستهای مختلفی مانند GET، POST، PUT و DELETE را با استفاده از این برنامه ارسال کنید.
مثال استفاده از Postman و API
برای مثال، میتوانید از سایت dummyjson.com استفاده کنید و یک URL از این سایت را در Postman وارد کرده و با متد GET دادهها را مشاهده کنید. این دادهها را میتوانید به صورت fetch یا xhr دریافت کنید.
افزونهها و پلاگینهای کاربردی برای برنامهنویسان فرانتاند
استفاده از fetch در JavaScript
کد زیر یک نمونه از استفاده از fetch برای فراخوانی یک API است:
var requestOption = {
method: 'GET',
redirect: 'follow'
};
fetch("https://dummyjson.com/products/1", requestOption)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('Error', error));
این کد درخواست GET را به URL مشخصی ارسال کرده و پاسخ را به صورت متن در کنسول نمایش میدهد. یکی از ویژگیهای fetch این است که تا دریافت پاسخ منتظر میماند و سپس نتیجه را پردازش میکند.
مثال دیگر از fetch:
کد زیر دادههای محصولی با ID 1 را از سایت dummyjson.com دریافت کرده و عنوان آن را در کنسول نمایش میدهد:
var requestOption = {
method: 'GET',
redirect: 'follow'
};
fetch("https://dummyjson.com/products/1", requestOption)
.then(response => response.text())
.then(result => console.log(result["title"]))
.catch(error => console.log('Error', error));
تفاوت بین Network و REST API
- Network زیرساخت ارتباطی را فراهم میکند، در حالی که REST API رابطی برای تبادل داده بین نرمافزارها است.
- در حالی که شبکه بر انتقال دادهها تمرکز دارد، API بر دسترسی و استفاده از دادهها تأکید میکند.
Http Status Codes
کدهای وضعیت HTTP نشاندهنده وضعیت پاسخ سرور به درخواستهای ارسال شده هستند. به عنوان مثال، کد 200 به معنی OK و موفقیتآمیز بودن درخواست است.
ویدئوی یوتیوب
همچنین از شما عزیزان دعوت میکنیم مقاله “راهنمای جامع دیباگ: تسلط بر رفع خطاهای برنامهنویسی بهروش حرفهایها” را نیز مطالعه کنید.