تشخیص زبان برنامه نویسی سایت - نحوه شناسایی تکنولوژیهای به کار رفته در یک وبسایت
سایتهای متنوعی که در اینترنت مشاهده میکنید با استفاده از ابزارها و تکنولوژیهای مختلفی ساخته شدهاند.
تکنولوژیهای توسعه وب به مجموعهای از زبانهای برنامه نویسی و سایر ابزار مرتبط اشاره دارد و توسعه دهندگان وب بر حسب نیاز از آنها استفاده میکنند.
توسعه وب فرآیندی است که شامل بخشهای مختلفی بوده و توسعه هر بخش به دانش و ابزار مخصوص خود نیاز دارد. برای ساخت یک وبسایت باید طراحی المانهای گرافیکی و محل قرار گرفتن عناصر مختلف سایت توسط یک طراح انجام و مشخص شود.
سپس یک توسعه دهنده که از او با نام توسعه دهنده سمت کاربر یا فرانت اند (Front End) یاد میشود باید این طراحی را با استفاده از زبانهای برنامه نویسی به صورتی پیاده سازی کند که در مرورگرهای مختلف قابل نمایش باشد.
از طرفی هر سایت باید طبق یک منطق مشخص کار کند. برای مثال زمانی که شما فرم ثبتنام یک سایت را پر میکنید، این اطلاعات باید مورد بررسیهایی قرار گرفته و در صورت تأیید در پایگاه داده سایت ذخیره شود. هر بار که شما قصد ورود به پروفایل خود در سایت را داشته باشید، باید اطلاعات شما از پایگاه داده بازیابی شده و تطابق آنها با اطلاعات ورودی شما بررسی شود.
بنابراین باید منطق سایت به درستی پیاده سازی شده و پایگاه داده نیز به خوبی پیکربندی شده باشد که این دو مورد توسط توسعه دهنده بک اند (Back End) یا همان توسعه دهنده سمت سرور (Server) انجام میشود.
امنیت سایت نیز مبحث دیگری است که مخصوصاً برای سایتهای خرید آنلاین و اینترنت بانکها بسیار مهم است. توسعه دهندگان از ابزار مختلفی برای تأمین امنیت سایت و رمزگذاری اطلاعات کاربران استفاده میکنند.
پس همانطور که متوجه شدید، فرآیند توسعه یک سایت شامل مراحل گوناگونی بوده و ابزارهای مختلفی در ساخت یک سایت استفاده میشود.
ممکن است هنگام مراجعه به یک سایت که از طراحی زیبا و کاربرپسندی برخوردار است، این سؤال برای شما پیش بیاید که در ساخت این سایت از چه تکنولوژیهایی استفاده شده است؟ میزبانی از سایت بر عهده یک سرور لینوکسی است یا یک سرور ویندوزی؟
آیا میدانید تشخیص زبان برنامه نویسی سایت به چه شکلی انجام میشود؟
یا این که از کدام چارچوب نرم افزاری برای ردوبدل شدن اطلاعات بین سمت کاربر و سرور استفاده شده است؟
در این مطلب قصد آموزش ترفندها و معرفی ابزارهایی را داریم که به وسیله آنها بتوانید پاسخ چنین سؤالاتی را پیدا کنید.
ضمناً اگر به برنامه نویسی وب علاقه دارید میتوانید به مقاله برنامه نویسی وب چیست و چگونه آن را یاد بگیریم؟ — راهنمای کامل و رایگان در مجله فرادرس مراجعه کنید.
چرا باید از تکنولوژیهای به کار رفته در ساخت یک وبسایت آگاه شد؟
ممکن است دلایل زیادی برای شناخت زبان برنامه نویسی یا ابزاری که توسعه دهندگان یک وبسایت از آن استفاده کردهاند وجود داشته باشد اما معمولاً سه دلیل زیر از سایر دلایل پررنگتر هستند:
· در مورد تکنولوژیها و زبانهای برنامه نویسی وب کنجکاو باشید
· به عنوان یک متخصص امنیت مشغول فعالیت باشید و بخواهید روی تکنولوژیهای سایت نظارت کنید
· قصد انجام یک تحقیق درباره سایتها و تکنولوژیهای به کار رفته در آنها را داشته باشید و بخواهید میزان محبوبیت وبسایتها را بسنجید
آشنایی با تکنولوژیهای توسعه وب
قبل از پرداختن به ابزارها و ترفنتدهای تشخیص تکنولوژیها و زبانهای به کار رفته در ساخت یک وبسایت، بهتر است با تعدادی از آنها آشنا شوید.
زبانهای برنامه نویسی مورد استفاده در توسعه وب
تشخیص زبان برنامه نویسی سایت بدون داشتن آگاهی در مورد آن زبانها فایده چندانی ندارد. بنابراین در این قسمت زبانهای مهمی که برای توسعه وب به کار گرفته میشوند را مرور خواهیم کرد:
· اچ تی ام ال (HTML): یکی از پایهایترین تکنولوژیها برای توسعه وب است که ساختار صفحات وب به کمک آن مشخص میشود.
· سی اس اس (CSS): استایل و زیبایی صفحات وب به سی اس اس وابسته است. در حالی که اچ تی ام ال ساختار صفحات وب را مشخص میکند، ظاهر آن ساختار به کمک سی اس اس تعیین میشود.
· جاوا اسکریپت (JavaScript): یکی از پرکاربردترین زبانهای دنیای برنامه نویسی است که برای توسعه وب در سمت کاربر و سرور استفاده میشود.
· پی اچ پی (PHP): پرکاربردترین زبانی که در توسعه وب استفاده میشود پی اچ پی است. وردپرس که ۳۴ درصد وبسایتهای اینترنت به وسیله آن ساخته شدهاند بر پایه پی اچ پی نوشته شده است.
· پایتون (Python): یک زبان چندمنظوره و بسیار محبوب که کدهای آن بسیار خوانا هستند.
· جاوا (Java): زبانی که در کمپانیهای تجاری بسیار محبوب است و برای توسعه وب و اپلیکیشنهای اندروید نیز استفاده میشود.
· راست (Rust): یک زبان نسبتاً جدید که بر روی امنیت و انجام همزمان وظایف مختلف توسط کامپیوتر تمرکز کرده است.
· گو (Go): یک زبان برنامه نویسی متن باز با تمرکز بر قابلیت اطمینان، سادگی و کارآمدی.
در فرادرس میتوانید زبانهای برنامه نویسی مورد استفاده برای توسعه وب را یاد بگیرید. در همین راستا لینکهای زیر شما را به صفحات آموزش زبانهای برنامه نویسی وب هدایت خواهند کرد.
· آموزش مقدماتی طراحی وب با HTML – کلیک کنید
· آموزش جاوا اسکریپت (JavaScript) — از مقدماتی تا انجام پروژه عملی – کلیک کنید
· آموزش مقدماتی طراحی وب با CSS – کلیک کنید
· آموزش پروژه محور HTML و CSS – کلیک کنید
· آموزش برنامه نویسی PHP – کلیک کنید
· آموزش مقدماتی برنامه نویسی پایتون (Python) – کلیک کنید
· آموزش برنامه نویسی جاوا (Java) – کلیک کنید
· آموزش توسعه وب با زبان برنامه نویسی Go (رایگان) – کلیک کنید
چارچوبهای نرم افزاری یا فریم ورکهای (Software Framework) مورد استفاده در توسعه وب
گاهی به جای تشخیص زبان برنامه نویسی سایت به دنبال فریم ورکهایی هستیم که بر پایه این زبانها نوشته شدهاند.
· انگولار: یک چارچوب نرم افزاری مربوط به توسعه سمت کاربر که توسط گوگل توسعه داده شده است. در مقایسه با فریم ورکهای رقیب، بیشترین امکانات را برای توسعه فراهم کرده است.
· نود جی اس (Node.js): امکان نوشتن کد سمت سرور با زبان جاوا اسکریپت را فراهم کرده است. میتوان اپلیکیشنهای ساده و نمونههای اولیه را به سرعت توسط نود جی اس توسعه داد.
· ری اکت (React.js): ری اکت که توسط فیسبوک پشتیبانی میشود برای ساخت رابطهای کاربری زیبا مورد استفاده قرار میگیرد.
· ویو (Vue.js): از ویو نیز مانند ری اکت برای ساخت رابط کاربری استفاده میشود با این تفاوت که ویو نسبت به ری اکت سادهتر است.
· جنگو (Django): یک فریم ورک متن باز و رایگان مبتنی بر پایتون برای توسعه وب که برای طراحی هر دو سمت کاربر و سرور استفاده میشود.
· جی کوئری (jQuery): یک کتابخانه جاوا اسکریپت که برنامه نویسی به زبان جاوا اسکریپت را بسیار آسان نموده و یادیگری آن نیز بسیار راحت است.
در صورت داشتن علاقه میتوانید به صفحات زیر از فرادرس که در آنها آموزشهای فریم ورکها و کتابخانههای مختلف توسعه وب قرار گرفته است مراجعه کنید.
· آموزش جنگو (Django) - فریمورک تحت وب با پایتون (Python) - کلیک کنید
· آموزش مقدماتی کتابخانه ReactJS در جاوا اسکریپت - کلیک کنید
· آموزش کاربردی برنامه نویسی وب با جی کوئری - کلیک کنید
· آموزش پلاگین های کاربردی جی کوئری (jQuery) - کلیک کنید
پایگاه دادههایی که توسط توسعه دهندگان وب مورد استفاده قرار میگیرند
پایگاه داده مکانی است که دادهها در آن ذخیره میشوند. دو نوع اصلی از پایگاه داده وجود دارد:
· SQL: از زبان پرسوجوی ساختاری برای تعریف و دستکاری دادهها استفاده میکند
· NoSQL: بر خلاف SQL، دادهها از راههای مختلفی میتوانند در پایگاه داده ذخیره شده و نیازی نیست که ابتدا ساختار پایگاه داده را تعریف کنیم
پایگاه دادههای معروف عبارتاند از:
· مای اس کیو ال (MySQL): یک پایگاه داده SQL و متن باز
· مونگو دی بی (Mongo DB): یک پایگاه داده NoSQL متن باز
· اوراکل (Oracle): یک سیستم مدیریت پایگاه داده متعلق به شرکت اوراکل
در همین راستا، فرادرس آموزش کار با پایگاه دادههای مختلف و پیکربندی صحیح آنها را در صفحات زیر قرار داده است.
· آموزش پایگاه داده MySQL – کلیک کنید
· آموزش مدیریت بانک اطلاعاتی اوراکل - کلیک کنید
انواع وب سرورها (Web Server)
وب سرورها نرم افزارهایی هستند که روی یک کامپیوتر نصب شده و به مدیریت درخواستهای فرستاده شده از مرورگرها بر بستر پروتکل HTTP و HTTPS میپردازند.
در یک وب سرور، محتوای وبسایت مانند تصاویر، متنها و ویدیوها دخیره و به کلاینت (Client) که معمولاً یک مرورگر است ارسال میشود.
محبوبترین وب سرورهای حال حاضر عبارتاند از:
· وب سرور آپاچی اچ تی تی پی سرور (Apache HTTP Server)
· وب سرور Internet Information Services (IIS)
· وب سرور Lighttpd
· وب سرور Sun Java
· وب سرور Jigsaw Server
· وب سرور LiteSpeed server
· وب سرور Node.js
انواع وب هاست یا میزبان سایتها (Web Host)
وب هاست کامپیوترهایی هستند که به میزبانی از وبسایتها میپردازند و در واقع وب سرور بر روی آنها نصب میشود.
سیستم عامل نصب شده روی این کامپیوترها معمولاً یا ویندوز است یا لینوکس.
اگر قصد خرید هاست را برای وبسایت خود دارید توصیه میکنیم مقاله راهنمای جامع خرید هاست را در مجله فرادرس مشاهده کنید.
سیستمهای مدیریت محتوا (Content Management System یا CMS)
از این ابزار برای ساخت سریع وبسایت استفاده میشود. افرادی که دانش فنی اندکی از توسعه وبسایت دارند میتوانند از این ابزار برای ساخت وبسایت استفاده کنند. برای این دسته از افراد تشخیص زبان برنامه نویسی سایت اهمیت چندانی نداشته و میخواهند بدانند که یک سایت از کدام CMS استفاده کرده است.
معروفترین CMSهایی که در حال حاضر وجود دارند عبارتاند از:
· وردپرس (WordPress)
· جوملا (Joomla)
· دروپال (Drupal)
· وب فلو (Web flow)
· گوست (Ghost)
· سایت کُر (Sitecore)
اگر میخواهید کار با سیستمهای مدیریت محتوا را یاد بگیرید از آموزشهای زیر غافل نشوید.
· آموزش مقدماتی وردپرس (WordPress) – کلیک کنید
· آموزش تکمیلی راه اندازی سایت و کار با وردپرس - کلیک کنید
· آموزش امنیت وردپرس (WordPress Security) - کلیک کنید
· آموزش مقدماتی سیستم مدیریت محتوا Drupal – کلیک کنید
· آموزش جوملا (Joomla) برای راه اندازی و مدیریت وب سایت – کلیک کنید
تشخیص زبان برنامه نویسی و سایر تکنولوژیهای به کار رفته در ساخت یک وبسایت
برای تشخیص زبان برنامه نویسی سایت و سایر تکنولوژیهای مربوط به توسعه وب سه رویکرد کلی وجود دارد:
· استفاده از وبسایتهایی که در این زمینه فعالیت دارند
· استفاده از افزونههای مرورگرها
· بررسی و خواندن کد
معرفی وبسایتها و افزونههای تشخیص زبان برنامه نویسی سایت
در این قسمت قویترین و معروفترین وبسایتهایی که میتوانند تکنولوژیهای به کار رفته در ساخت یک وبسایت را تشخیص دهند به شما معرفی میکنیم. بعضی از این وبسایتها دارای افزونههایی برای مرورگرهای مختلف نیز هستند.
سایت Netcraft
Netcraft احتمالاً یکی از قدیمیترین ابزارهای موجود در این حوزه محسوب میشود که میتواند اطلاعات زیر را در مورد یک سایت برای شما فراهم کند:
· معرفی سایت: عنوان سایت، تاریخ اولین باری که سایت آنلاین شده است، رتبه بندی سایت، زبان سایت، توضیحی از ماهیت سایت
· شبکه: آدرسهای آی پی ورژن ۴ یا ۶، کشور میزبان سایت، نام صاحب دامنه سایت
· امنیت لایه انتقال و رمزگذاری ارتباط بین سرور و کلاینت: وضعیت آسیب پذیری در برابر حملاتی مانند خونریزی قلبی (Heart Bleed) و پودل (Poodle)
· وضعیت میزبانی سایت: تشخیص وب هاست
· جزئیات سیستم SPF (Sender Policy Framework به معنای چارچوب سیاستهای ارسال کننده ایمیل)
· امنیت: قرار داشتن سایت در لیست سیاه یا لیست سایتهای در معرض ریسک
· تکنولوژیهای استفاده شده در سایت: نحوه کدگذاری کاراکترها، خوراکهای RSS، نحوه فشرده سازی، تشخیص سرویس مدیریت محتوا، تشخیص سرویس تحویل محتوا (CDN یا Content Delivery Network)
سایت BuiltWith
BuiltWith یک ابزار تحقیقاتی آنلاین است که شما را با معرفی تکنولوژیهای به کار رفته در یک وبسایت تحت تأثیر قرار میدهد. همچنین سایر سایتهایی که از تکنولوژیهای مشابه وبسایت مورد نظر شما استفاده میکنند در یک جدول زیبا نمایش داده میشوند.
اگر از تبلیغات در وبسایت استفاده شده باشد، ابزار BuiltWith شما را از این مورد آگاه میکند.
افزونه این ابزار نیز برای مرورگرهای کروم و فایرفاکس در دسترس است.
· دانلود افزونه BuiltWith برای فایرفاکس – کلیک کنید
· دانلود افزونه BuiltWith برای کروم – کلیک کنید
سایت Wappalyzer
با استفاده از Wappalyzer به راحتی میتوانید تکنولوژیهای استفاده شده توسط سایتهای رقیب را تشخیص دهید. این تکنولوژیها میتواند شامل شبکههای تبلیغاتی، پلتفرمهای تجارت الکترونیکی، سیستمهای مدیریت محتوا، سیستمهای تجزیه و تحلیل و غیره باشند.
این سایت به شما گزارشهای به روز را ارسال میکند تا هیچ گاه از رقبای خود عقب نیفتید. شما میتوانید با استفاده از این ابزار لیستی از سایتها را تهیه کنید که به سازماندهی شما در حین انجام تحقیق کمک میکند.
میتوان با استفاده از ابزار Wappalyzer به طور همزمان بیش از هزار وبسایت را مورد بررسی قرار داد که این امر به صرفه جویی در زمان کمک زیادی میکند.
افزونه این ابزار نیز برای مرورگرهای کروم و فایرفاکس در دسترس است.
· دانلود افزونه Wappalyzer برای فایرفاکس – کلیک کنید
· دانلود افزونه Wappalyzer برای کروم – کلیک کنید
سایت W3 Techs
بهتر است ظاهر قدیمی این سایت شما را گول نزند چرا که امکانات بسیار مفیدی در W3 Techs تعبیه شده است.
این ابزار اطلاعات زیر را به صورت جدولی در اختیار شما قرار میدهد:
· رتبهبندی و محبوبیت سایت
· تشخیص سیستم تشخیص محتوا مانند وردپرس
· تشخیص زبان برنامه نویسی سایت (مانند پی اچ پی و جاوا اسکریپت)
· کدگذاری کاراکترها
· پروتکلهای امنیتی وبسایت
· ابزار تجزیه و تحلیل
· وب سرور
در آخر امتیازی بر اساس تکنولوژیهای مورد استفاده و میزان محبوبیت آنها به سایت داده میشود.
افزونه این ابزار نیز برای مرورگرهای فایرفاکس و کروم در دسترس است.
· دانلود افزونه W3 Techs برای فایرفاکس – کلیک کنید
· دانلود افزونه W3 Techs برای کروم – کلیک کنید
سایت Rescan
اگر ابزاری میخواهید که استفاده از آن بسیار آسان بوده و نتایج را نیز در عین سادگی به شما نشان دهد، Rescan را انتخاب کنید.
سایت What CMS
اگر تنها میخواهید بدانید که در یک سایت از چه سیستم مدیریت محتوایی استفاده شده و کاری با تکنولوژیهای دیگر ندارید، What CMS را انتخاب کنید.
این ابزار، CMS به کار رفته برای ساخت سایت را تشخیص میدهد.
معرفی سایر افزونهها برای تشخیص زبان برنامه نویسی و تکنولوژی به کار رفته در وبسایت
با نصب افزونهها در مرورگر خود و ورود به یک سایت به وسیله مرورگر، افزونه نصب شده به صورت خودکار تکنولوژیهای به کار رفته در آن وبسایت را تشخیص میدهد. علاوه بر سایتها و افزونههای معرفی شده در قسمت قبل میتواند از افزونههای زیر نیز استفاده کنید:
افزونه WhatRuns
این افزونه به طور رایگان در دسترس است و تکنولوژیهای استفاده شده در یک وبسایت را برای شما آشکار میسازد.
این که WhatRuns به صورت یک افزونه منتشر شده استفاده از آن را بسیار راحت کرده است. مواردی مانند فونتهای استفاده شده در یک سایت، پلتفرم تحویل محتوا، افزونههای وردپرس، ابزار تحلیل و غیره توسط WhatRuns به راحتی در اختیار شما قرار میگیرد.
گزینه دنبال کردن یک سایت برای شما فعال شده است تا بتوانید به محض تغییر تکنولوژی مورد استفاده در یک وبسایت، از آن اگاه شوید.
برای استفاده از امکانات این افزونه نیازی به ساخت حساب کاربری نیست و تنها باید افزونه را نصب کنید.
· دانلود افزونه WhatRuns برای فایرفاکس – کلیک کنید
· دانلود افزونه WhatRuns برای کروم – کلیک کنید
افزونه PageXray
افزونه دیگری که برای کروم در دسترس است PageXray نام دارد.
این افزونه پلاگینها و تکنولوژیهای استفاده شده در یک وبسایت را به صورت سازماندهی شده نشان میدهد.
این افزونه نیز رایگان بوده و کار خود را به خوبی انجام میدهد.
· دانلود افزونه PageXray برای کروم
برای آشنایی بیشتر با سایتها و افزونهها میتوانید مقاله تشخیص زبان برنامه نویسی سایت | فهرست ابزارهای کاربردی را نیز در فرادرس مطالعه کنید.
نحوه بررسی و خواندن کد وبسایت
علاوه بر استفاده از سایتها و افزونهها، میتوان با خواندن کد منبع سایت نیز به اطلاعات خوبی دست پیدا کرد.
سورس کد سایت را به راحتی میتوان در مرورگرها مشاهده کرد. در منوی اصلی مرورگر فایرفاکس More Tools را پیدا کرده و در آن قسمت به دنبال گزینه Web Developer بگردید.
در مرورگر کروم نیز روی هر صفحه وبی که میخواهید کلیک راست کرده و گزینه inspect را انتخاب کنید.
صفحهای مانند زیر باز خواهد شد که جزئیات صفحه وب را به شما نشان میدهد. در بالای قسمت باز شده، زبانهای Console، Sources و network را مشاهده خواهید کرد:
با رفتن به قسمت sources به سورس کد وبسایت دست پیدا کرده و میتوانید آن را بررسی کنید.
با انداختن نگاهی به نوع فایلها و آدرسهای اینترنتی موجود در کد وبسایت میتوان به پلتفرمی که وبسایت روی آن ساخته شده است، پی برد.
برای مثال اگر در کد وبسایت به دنبال عبارت wp-content بگردید و آن را پیدا کنید با اطمینان بالایی میتوانید بگویید که سایت با استفاده از پلتفرم وردپرس ساخته شده است.
زبانهای برنامه نویسی و تکنولوژیهای توسعه وب را به صورت اصولی یاد بگیرید!
در این مطلب راههای تشخیص زبان برنامه نویسی سایت و سایر تکنولوژیهای مرتبط مطرح شد و امید است که این مباحث مورد رضایت شما قرار گرفته باشد.
اگر علاقه دارید تا با زبانهای برنامهنویسی و چارچوبهای نرم افزاری توسعه وب به صورت اصولی آشنا شوید، عضوی از خانواده بزرگ فرادرس شده و از دورههای فوقالعاده آن در زمینه برنامه نویسی وب استفاده کنید.
· برای ورود به سایت فرادرس روی این لینک کلیک کنید
منابع
https://tillerdigital.com/blog/an-introduction-to-web-development-technologies/
مطلبی دیگر از این انتشارات
آموزش cordova — راهنمای کار با آپاچی کوردوا (Apache Cordova)
مطلبی دیگر از این انتشارات
کتاب هایی که هر برنامه نویسی نخونه عمرش بر فناست!
مطلبی دیگر از این انتشارات
نصب PyQt5 به همراه Qt Designer