در حالت http، ما دیتا را بین سرور و کلاینت به صورت plain text رد و بدل مینماییم یا به بیان سادهتر به همان شکل که مینویسیم به همان صورت دیتا را بین سرور و کلاینت منتقل میکنیم ولی نکته اینجاست که این دیتا ممکنه توسط هکرها در سطح شبکه شنود بشه و از این دیتا برای اهداف مخرب استفاده بشه به این نوع حملات man in the middle یا مردی در میان گفته میشود.
ما برای اینکه امنیت سرور و کلاینت را برقرار کنیم از پروتکل یا قراردادی به نام ssl استفاده میکنیم که http را به https تبدیل میکنه و دیتایی که بین سرور و کلاینت رد و بدل میشه رو رمزنگاری میکنه. دلیل دیگهای که برای استفاده از https داریم این هست که سرعت https از http ورژن ۲ بیشتره برای همین بهتره که از https استفاده کنیم.
به عملیاتی که در آن عبارات اضافی مانند فضای خالی، کامنتها و ... حذف میشوند بدون اینکه ماهیت کد تغییر کند را code minification میگویند. این عملیات باعث میشود خوانایی کد به شدت پایین بیاید اما در عوض سرعت اجرای و انتقال آن تحت اینترنت به شدت افزایش پیدا میکند از این روش فقط برای اجرای برنامه استفاده میشود ولی برای توسعه و نگهداری کد از این روش استفاده نمیشود.
نمونهی code minification تبدیل فایلهای با پسوند py به فایلهایی با پسوند pyc است که سرعت اجرای برنامه های پایتونی را افزایش میدهد. code minification در تمام زبانها مورد استفاده قرار میگیرد ولی استفاده از آن در زبان جاوا اسکریپت بسیار مهم و تاثیر گذار است زیرا کدهای جاوا اسکریپت تحت اینترنت منتقل میشوند و در کلاینت مقصد اجرا میشوند پس کم بودن حجم کد در زمان انتقال و اجرای ان در سمت کاربر بسیار تاثیر گذار است و باعث کاهش زمان لود صفحات یک سایت میشود.
در سالهای اخیر ما با مفهومی به نام سرور آشنا شدیم و از سرور برای بارگذاری سایتها استفاده میکردیم تا مفهومی به نام cloud معرفی شد. فرض کنید که شما یک سایت فروشگاهی دارید که تعداد یوزرهای شما یک مقدار مشخصی است و برای این فروشگاه شما از یک سرور استفاده میکنید حال بر اثر محبوبیت و کالاهایی که شما در فروشگاهتون عرضه میکنید این فروشگاه معروف شد و تعداد کاربر شما چندین برابر شد خوب در اینجا شما مجبورید که یک سرور دیگه اضافه کنید تا بتونید به نیاز کاربرانتون پاسخ بدید اما وقتی بررسی میکنید میبینید که در ساعات و روزهای خاصی تعداد یوزر و درخواست شما اونقدر زیاد میشه که به یک سرور اضافه نیاز دارید ولی خارج از اون زمانهای خاص شما عملا از منابع سرور اضافه استفاده نمیکنید خوب راه حل چیست؟
استفاده از فضای ابری این امکان رو به شما میده که یک سرور برای بارگذاری فروشگاهتون داشته باشید و در مواقعی که به سرور و منابع بیشتری نیاز دارید اون رو در اختیارتون میزاره و زمانی که دیگه نیاز نداشتید اون رو ازتون میگیره که این باعث میشه منابع شما بهینه مورد استفاده قرار بگیرند. این مطلب صرفا توضیحات کلی در مورد فضای ابری بود برای بدست اوردن اطلاعات بیشتر بهتون توصیه میکنم حتما گوگل کنید (توی گوگل در موردش سرچ کنید).
یه خونه رو در نظر بگیرید انواع وسایل و تجهیزات توی خونه هست که همشون زندگی رو برای ما راحتتر میکنند حال شما اگه روزی تصمیم گرفتید که یخچالتون رو عوض کنید و ارتقا بدید بدون اینکه بقیهی وسایل خونه تغییری کنن شما میتونید اینکار رو انجام بدید و فقط یخچالتون رو عضو میکنید یا اگه روزی سشوارتون خراب شد بقیه وسایل خونه مشکلی براشون پیش نمیاد و شما سشوارتون رو میبرید به تعمیرگاه و درستش میکنید.
حالا بیاید سایت گوگل رو در نظر بگیریم که قسمتهای مختلفی داره که هر کدوم هم با یک زبان برنامه نویسی نوشته شدهاند برای مثال قسمت احراز هویت، قسمت انتشار ویدیو، قسمت بارگذاری فایل و ... تمام این قسمتها ماژولهای جداگانهای هستند که مستقل از هم اجرا میشوند و کار میکنند ولی در عین حال به وسیلهی API هایی با یکدیگر در ارتباطند. هر کدام از این قسمت ها توسط یک تیم مستقل و یک زبان متفاوت با زبان دیگر قسمت ها توسعه پیدا میکنند به این سبک از پیادهسازی میکروسرویس گفته میشود.