https vs http

امنیت وب سایت

http چیست؟

پروتکل HTTP یا Hyper Text Transfer Protocol  نام پروتکلی است که برای ایجاد ارتباط، دریافت، و ارسال داده ها بین سرور و کلاینت استفاده می شود. این پروتکل از پروتکل TCP/IP برای ایجاد یک پل میان سرور و کلاینت استفاده می کند. طریقه کار ارتباط کلاینت با سرور، با استفاده از پروتکل HTTP به این ترتیب است که اطلاعات ، از طریق بسته های اطلاعاتی، بین سرور و کلاینت رد و بدل می شود. به این ترتیب که برای برای ارسال داده ای به سمت مقصد، در ابتدا، داده، به بخش های کوچکتری شکسته می شود و سپس از هر کدام به سمت مقصد و با ترتیب مشخص ارسال می شوند.

Http یک پروتکل stateless است .هر درخواست کلاینت و هر پاسخ سرور یک عملکرد مستقل و بدون هیچ دانشی از درخواست قبلی می‌باشد . وب سرور وظیفه دارد تا درخواست های کاربر را کنترل کند تاکاربر قادر به انجام تراکنش های چندگامی باشد . این به چه معناست؟ خرید آنلاین را مثال میزنیم .کاربر به سیستم وارد می‌شود و آیتم هایی را به سبد خرید خود اضافه می‌کند ، یک متد ارسال را انتخاب کرده و اطلاعات پرداخت را وارد می‌کند .

Http بدون استفاده از کوکی ها نیاز دارد تا در همه این مراحل یکبار مجدد به سیستم لاگین شود !! اما ممکن نیست به همین دلیل مفهومی با نام نشست (Session) به وجود آمد که از این طریق اپلیکیشن درخواست های رسیده را کنترل و پیگیری میکند. هرچند که نشست ها به افزایش ساختار کاربرپسند اپلیکیشن وب کمک می‌کنند ولی در مقابل سطح حمله دیگری را فراهم می‌کنند . http در ابتدا امن طراحی نشده است تا تراکنش های ایمن و دارای حریم خصوصی را نگهداری کند

استفاده از https یا همان Secure HTTP تلاشی میکند تا جلوی بعضی از حملات گرفته شود
Https زمانی ممکن می‌شود که http بر روی لایه پروتکل ایمن SSL/TLS قرار می‌گیرد . این پروتکل SSL/TLS را به درخواست ها و پاسخ های عادی http اضافه می‌کند . این کار موجب می‌شود که حملات (Man in the Middle) و دیگر حملات استراق سمع با موفقیت انجام نشوند . این پروتکل باعث میشود که یک ارتباط امن و خصوصی بین مرورگر و اپلیکیشن وب برقرار شود . HTTPS به این معناست که یک ارتباط رمزنگاری شده و یک گفتگوی خصوصی پیاده‌سازی شود. به بیان بهتر ارتباط ایمن مانع از اجرای تعداد زیادی حملات نخواهد شد و تنها از سرقت و شنود مکالمه جلوگیری می‌کند .

این پروتکل از Handshaking برای ارسال و دریافت داده ها استفاده می کند. در Handshaking  برای شروع و پایان عملیات دریافت و ارسال بسته های اطلاعاتی بین سرور و کلاینت، سوالاتی از مقصد پرسیده می شود.

مطالعه بیشتر:پروتکل tcp/ip چیست

HTTP  را اینگونه میتوان تعریف کرد که فایل ها میتوانند ارجاع هایی به فایل های دیگر داشته باشند که سبب درخواست های بیشتر برای انتقال می شود. هر وب سرور علاوه بر صفحات موجود یک deamon  (پاسگر) دارد که برای دریافت و پاسخگویی به درخواست ها قرار داده شده. مرورگر وب یک سرویس گیرنده  HTTP  است که درخواست را برای سرور می فرستد. وقتی مرورگر وب کاربر با وارد کردن URL یا آدرس IP فایلی را در خواست می کند، مرورگر وب درخواستی برای آن فایل به سمت سرور ارسال میکند، مرورگر وب درخواست را به فرمت HTTP در می آورد و برای سرور ار سال می کند و سرور هم پس از دریافت درخواست از سمت کلاینت، فایل ها را به سمت وی می فرستد. که به این پروسه اصطلاحاً Handshaking گفته میشود.

بعنوان مثال فرض کنید کلاینت A می خواهد از سرور B داده هایی را دریافت نماید. برای این منظور A در ابتدا درخواستی را به B می فرستد تا آمادگی B را برای ارسال بررسی کند. در اینحالت A صبر خواهد کرد تا B جوابی را به این پرسش ارسال نماید. پس از آنکه B آمادگی را خود اعلام کرد، A پیامی را سمت B می فرستد و از او می خواهد تا داده های اطلاعاتی را بفرستد. B پیام را دریافت می کند و اطلاعات را آماده می کند و آن را به بسته های کوچکتری تقسیم می کند و توسط پروتکل Handshaking آنها را پشت سر هم و به ترتیب ارسال می کند.

گفتنی است که پروتکل TCP/IP که در پروتکل HTTP مورد استفاده قرار می گیرد، امنیت داده ها و تضمین ارسال آنها را تماما بر عهده گرفته است. این پروتکل بر روی لایه هایی قرار دارد و معماری این پروتکل بصورت چند لایه است.

پروتکل http یک استاندارد تعریف شده برای شبکه های کامپیوتری برای توزیع و نمایش محتوی است که در واقع بعد از ایجاد اولین سایتهای اینترنتی پایه ریزی شد و به مرور زمان  توسعه پیدا کرد و کنسرسیوم جهانی وب W3C مسئولیت توسعه و نظارت بر این پروتکل را بر عهده دارد. پروتکل http بعد از بوجود آمدن زبان برنامه نویسی html یا Hyper Text Markup Language  زبان نشانه گذاری ابر متن در سال ۱۹۹۰  توسط فیزیکدانی به نام آقای تیم برنرز لی پایه گذاری شد و شروعی برای ایجاد صفحات تحت وب و اولین سایت های اینترنتی بود. این پروتکل ارتباط بین سرور و کلاینت را در یک شبکه کامپیوتری برقرار می کند.
در واقع مرورگر اینترنت نصب شده در کامپیوتر کاربر نقش کلاینت را ایفا میکند و با نرم افزاری که در سیستم سرور نصب شده ارتباط برقرار کرده و طبق استاندارهای تعریف شده محتوی را رد و بدل می کند و در این میان درخواست های مکرری از کلاینت به سرور فرستاده شده و پاسخ آن از سمت سرور به کاربر فرستاده می شود.  ارتباط بین کلاینت و سرور در پروتکل http از طریق پورت ۸۰ انجام میشود و به مجموعه اطلاعات رد و بدل شده بین دو سیستم نشست یا session گفته میشود و همچنین اگر ارتباط بین دو سیستم به صورت ایمن و رمزنگاری شده باشده یک حرف s به این پروتکل اضافه میشود و به صورت https مشخص میشود که نشان دهنده ایمنی ارتباط است.  اینترنت همانند سایر شبکه های کامپیوتری، از پروتکل های متعدد و با اهداف مختلف استفاده می گردد. هر پروتکل از یک ساختار خاص برای ارسال و دریافت اطلاعات (بسته های اطلاعاتی) استفاده نموده و ترافیک مختص به خود را در شبکه ایجاد می نمای

اشتراک گذاری :

مطالب مرتبط

تماس با ما