بررسی Flask 3.0 و ویژگی Request.scheme

flask 3 request scheme explained
11 آذر 1403

معرفی Flask و نسخه‌ی 3.0


فِلَسک (Flask) یکی از فریم‌ورک‌های محبوب و سبک برای توسعه وب در پایتون است که اغلب برای ایجاد برنامه‌های کوچک و هم‌چنین به عنوان یک سرویس RESTful API استفاده می‌شود. توسعه‌دهندگان آن را به خاطر سادگی و انعطاف‌پذیری آن دوست دارند، چرا که به شما این اجازه را می‌دهد تا بیشتر روی خود برنامه تمرکز کنید تا فریم‌ورک.


اخیراً، نسخه 3.0 فِلَسک منتشر شده که ویژگی‌ها و بهبودهای جدیدی را به ارمغان آورده است تا توسعه‌دهندگان بتوانند با قدرت بیشتری برنامه‌نویسی کنند. در این نسخه، یکی از ویژگی‌های جدید و جالبی که معرفی شده است، ویژگی Request.scheme است.


ویژگی Request.scheme در Flask


این ویژگی به شما امکان می‌دهد تا پروتکل استفاده شده در درخواست کاربر را به راحتی بررسی کنید. بنابراین، اگر درخواست شما از طریق HTTP یا HTTPS ارسال شده باشد، می‌توانید این را از طریق Request.scheme متوجه شوید. این ویژگی به شما کمک می‌کند تا امنیت برنامه‌های خود را بهتر مدیریت کنید یا برای توسعه امکانات جدید بر اساس نوع پروتکل استفاده شده اقدام نمایید.


اهمیت استفاده از Request.scheme


در دنیای توسعه وب، امنیت یک مسئله حیاتی است. برنامه‌های شما همیشه باید به شیوه‌ای امن اطلاعات حساس کاربران را مدیریت کنند. یکی از اولین قدم‌ها برای اطمینان از امنیت داده‌ها، استفاده از یک پروتکل ارتباطی امن مانند HTTPS است. با استفاده از Request.scheme، می‌توانید بررسی کنید که آیا درخواست‌ها به صورت امن ارسال شده‌اند یا خیر و در صورت نیاز، اقدامات لازم را برای برطرف کردن آن انجام دهید.


نمونه کد استفاده از Request.scheme در Flask


حال که با اهمیت این ویژگی آشنا شدیم، بیایید نگاهی به نحوه استفاده از آن در کد داشته باشیم.


from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def check_scheme():
scheme = request.scheme
return f'The request scheme is: {scheme}'

if __name__ == '__main__':
app.run(debug=True)

توضیح خط به خط کد


from flask import Flask, request
این خط، ماژول‌های Flask و request را برای استفاده در برنامه وارد می‌کند.


app = Flask(__name__)
این خط یک آبجکت از کلاس Flask ایجاد می‌کند که برنامه ما را نشان می‌دهد.


@app.route('/')
این دکوریتور یک مسیر روت (route) در برنامه تعریف می‌کند که زمانی که به آدرس روت (/) برنامه دسترسی دارید، تابع بعدی اجرا می‌شود.


def check_scheme():
تابعی تعریف می‌کند که برای مدیریت درخواست‌ها در مسیر / استفاده می‌شود.


scheme = request.scheme
پروتکل استفاده شده در درخواست را با استفاده از ویژگی scheme استخراج می‌کند.


return f'The request scheme is: {scheme}'
پاسخ را با نمایش پروتکل استفاده شده به کاربر برمی‌گرداند.


if __name__ == '__main__':
برنامه را اجرا می‌کند اگر فایل به عنوان اسکریپت اصلی اجرا شود.


app.run(debug=True)
سرور برنامه Flask را در حالت دیباگ و بر روی localhost اجرا می‌کند.

سوالات متداول

؟

Request.scheme چیست و چه نقشی دارد؟

؟

چگونه می‌توان از Request.scheme استفاده کرد؟

؟

آیا استفاده از HTTPS به جای HTTP مهم است؟