آموزش

آشنایی با اصطلاحات پرکاربرد برنامه نویسی وب

آشنایی با اصطلاحات برنامه نویسی وب

در این مقاله با برخی اصطلاحات پرکاربرد برنامه نویسی وب و کامپیوتر آشنا خواهید شد.

Web application چیست؟

آشنایی با اصطلاحات پرکاربرد برنامه نویسی وب
اصطلاحات پرکاربرد برنامه نویسی وب

عبارت Web application برای هر فرد با توجه به موقعیتی که در آن قرار دارد و اینکه درباره چه موضوعی از وب صحبت می کند معنای متفاوتی دارد. برنامه های مبتنی بر وب نوع خاصی از نرم افزارها هستند که به کاربر امکان می دهد از طریق مرورگر با سرور از راه دور ارتباط برقرار کنند.

وب اپلیکیشن ها در سالهای اخیر محبوبیت زیادی کسب کرده اند و جایگزین برنامه های دسکتاپ شده و به ابزاری حیاتی برای مشاغل کوچک و بزرگ در سراسر جهان تبدیل شده اند. Web application دارای مزایای زیادی نسبت به برنامه های دسکتاپ هستند که قابل توجه ترین قابلیت انتقال آن ها است.

با این تکنولوژی کاربران نیازی به نصب نرم افزار اضافی ندارند و توسعه دهندگان نیز مجبور نیستند چندین نسخه از یک برنامه مشابه را برای سیستم عامل های مختلف بنویسند.

Web server چیست؟

آشنایی با اصطلاحات پرکاربرد برنامه نویسی وب
اصطلاحات برنامه نویسی

وب سرور فضایی است که محتوای وب در آن ذخیره می شود. هر زمان که در مرورگر وب خود آدرس اینترنتی را فراخوانی می کنید، وب سرورها مسئول ارسال components های وب سایت به رایانه شما هستند. برای اینکه یک وب سایت دائماً در دسترس باشد، باید وب سرور داشته باشد.

برای این که سایت خود را آنلاین کنید، به یک Web server خاص نیاز دارید. شرکت ها و سازمان های بزرگ معمولاً سرورهای اختصاصی خود را دارند که هم برای اینترانت و هم برای محتوای اینترنتی استفاده می کنند.

برای مدیریت داده های وب سایت، همیشه به نوعی نرم افزار نیاز خواهید داشت. برای این منظور ، اپراتورهای یک وب سایت قادر به انتخاب برنامه های مختلف Web server هستند که برای برنامه های مختلف تنظیم شد اند.

پروتکل HTTP

HTTP پروتکلی برای متصل شدن و برقراری ارتباط با اینترنت است. HTTP از مدل مبتنی بر پیام استفاده می کند. برای مثال کلاینت یک درخواست برای سرور ارسال میکند و سرور یک پاسخ به کلاینت میدهد. پروتکل HTTP به صورت Connectionless کار میکند اگر چه از پروتکل Statless-TCP برای انتقال داده ها استفاده میکند.

تمام درخواست ها و پاسخ های ارسال شده توسط  HTTP شامل هدر، درخواست و غیره می باشد که هر یک از آن ها در خط های جداگانه قرار می گیرند. در خواست های HTTP شامل سه بخش است. کلید واژه ای که تعیین کننده نوع متد HTTP می باشد که معمولا GET یا POST است.

GET و POST هر دو قابلیت ارسال درخواست به سرور را دارند اما این دو تفاوت هایی هم دارند در روش GET ، تمام داده های در بخش URL قرار میگیرند اما در روش POST تمام داده ها در بدنه قرار میگیرند و این کار باعث می شود امنیت داده های ارسالی نسبت به روش GET بالاتر برود. همچنین از متد POST میتوان برای بازیابی داده ها از سرور استفاده کرد.

آشنایی با اصطلاحات پرکاربرد برنامه نویسی وب
اصطلاحات برنامه نویسی

انواع متد ها

متد HEAD: این متد تقریبا همان کار GET را انجام میدهد. تنها تفاوتش در نوع درخواست ارسال به سرور است. زیرا در متد HEAD نمی توانیم محتویات منبع درخواست شده را دریافت کنیم بلکه فقط میشود اطلاعات Metadata آن منبع را دریافت کنیم.

متد PUT: این متد برای آپلود کردن منبع روی سرور است. اگر آن منبع از پیش روی سرور باشد درخواست آپدیت ارسال میشود. اگر این متد فعال باشد هکر ها می توانند کدهای مخرب خود را روی سرور قربانی آپلود کرده و آن ها را اجرا کنند.

متد TRACE: این متد برای شناسایی عیب ها یا خطایابی (Diagnosis) استفاده میشود.

متد OPTION: از روش OPTIONS برای متوجه شدن از گزینه های ارتباطی برای منبع هدف استفاده می شود.

متد PATCH: برای اعمال تغییرات جزئی در یک منبع استفاده می شود.

متد POST: از روش POST برای ارسال داده به منبع مشخص استفاده می شود که اغلب باعث تغییر وضعیت یا عوارض جانبی در سرور می شود.

مفهوم Header در برنامه نویسی وب چیست؟

بخشی از سایت است که در تمام صفحات وب تکرار شده است و در بالای سایت قرار میگیرد. در بعضی از مواقع هدر ها دارای اطلاعاتی هستند که میتواند برای هکرها مفید باشند.

انواع هدرها

هدر User-Agent: این هدر برای نمایش اطلاعاتی درباره مرورگر کلاینت یا نرم افزاری است که کلاینت با آن به سرور درخواست ارسال میکند.

هدر Host: برای نشان دادن نام میزبان (host) در URL است.

هدر Cookie: این متد برای ارسال کوکی ها به سمت سرور است که شامل Session های کاربر میباشد. برای مثال زمانی که میخواهید وارد یک سایت بشوید و ثبت نام کنید از شما میپرسد تمایل دارید که گذرواژه و نام کاربری شما یاد آوری شود  اگر روی yes بزنید یک Session بین خودتان و سرور ساخته اید. هر سایت تا مدت زمان معلومی این session ها را حفظ میکند و بعد از آن دوباره باید گذرواژه و نام کاربری خود را وارد کنید.

هدر Set-Cookie: عنوان Set-Cookie یک فرآیند پاسخ است و برای ارسال کوکی ها از سرور به کاربر استفاده می شود. بنابراین کاربر می تواند آنها را بعداً به سرور ارسال کند تا سرور بتواند کاربر را شناسایی کند.

هدر Server: این هدر دارای یک بنر است که نشان دهده نرم افزاری است که در وب سرور نصب شده است و در حال اجرا است.

هدر Pragma: این هدر باعث میشود که پاسخ های کلاینت در مرورگر ذخیره نشوند. Pragma برای پاسخ های HTTP مشخص نشده است، به همین دلیل جایگزینی قابل اعتماد برای هدر Cache-Control HTTP نیست. این فقط برای سازگاری معکوس با سرویس گیرنده HTTP استفاده می شود.

هدر Content-Type: این هدر نشان میدهد که بدنه یا متن داخلی پیام حاوی چه نوع فایلی است.

هدر Content-Length: این هدر نشان دهنده طول بدنه یا طول متن پیام بر حسب بایت است.

هدر Content-Encoding: این هدر نشان دهنده نوع رمزگذاری (Encoding) که بر روی محتویات پیام ها استفاده می شود است. این عمل توسط برخی از برنامه های کاربردی برای فشرده سازی پاسخ ها در زمان انتقال داده ها استفاده می شود.

شماهای رمزگذاری (Encoding Schemes)

برنامه های تحت وب از انواع مختلفی رمزگذاری برای ارسال یا دریافت داده ها در سرور اسفاده می کنند. گاهی پیش از ارسال داده نیاز است که آن ها را رمز گذاری کنیم در ادامه انواع رمز گذاری ها را برای شما بیان میکنیم.

انواع رمز گذاری

URL-Encoding: در این روش URL ها تنها به وسیله کاراکتر های ASCII می توانند روی اینترنت فرستاده شوند. آن دسته از کاراکتر هایی که خارج از مجموعه ASCII هستند با نماد % به همراه دو رقم در مبنای Hex جایگزین میکنند. به عنوان مثال اگر میخواهید در URL از فاصله اسفتاده کنید باید از کاراکتر %20 استفاده کنید.

Unicode-Encoding: یک استاندارد رمز گذاری کاراکتر است که هدفش پشتیبانی از بیشتر زبان های دنیاست. پر کاربرد ترین این نوع رمز گذاری UTF-8 و UTF-16 است.

Base64-Encoding: این روش بیشتر در مواقعی استفاده میشود که داده ها باینری باشند معمولا از Base64 برای رمزگذاری ایمیل ها، عکس ها، اسناد متنی و اعتبارنامه کاربران برای احراز هویت در پروتکل HTTP استفاده میشود.

Hex-Encoding: سیستم شماره گذاری Hexadecimal یا Hex معمولاً در سیستم های رایانه ای و دیجیتال برای کاهش رشته های بزرگ اعداد دودویی در مجموعه های چهار رقمی مورد استفاده قرار می گیرد تا به راحتی قابل درک باشند.

بیشتر بخوانید: آشنایی با اصطلاحات هک و امنیت

علی پازکی

علاقه مند به برنامه نویسی ، علم امنیت و همچنین مسائل علمی ? همیشه درحال یادگیری♾

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا