جدیدترین آموزش ها و اخبار دنیای تکنولوژی

تفاوت پروتکل HTTP و SMTP چیست؟!

0 284

در قسمت اول این مقاله توضیحات مختصری درباره چگونگی پیدایش ایمیل و روش انتقال پیام با استفاده از پروتکل SMTP داده شد. اکنون قصد داریم برای بررسی عمیق تر SMTP ، آن را با پروتکل HTTP مقایسه نماییم.

همان طور که گفته شد هر دو پروتکل SMTP و HTTP برای انتقال فایل از یک هاست به هاست دیگر کاربرد دارند. اما سوال اینجاست که اگر این طور هست ، پس چرا پروتکل HTTP برای ارسال ایمیل مناسب نیست؟ می دانیم که HTTP فایل ها را ( که در اینجا آن ها را Object می گوییم )  از یک وب سرور به وب کلاینت ( مثل مرورگر اینترنتی ) انتقال می دهد. در مقابل ، SMTP فایل ها را ( که در این جا به آن ایمیل می گوییم ) ، بین دو میل سرور جابه جا می کند.

هر دو پروتکل از Persistent Connections بهره می برند. منظور از Persistent Connections این است که برای ایجاد  ارتباط ، از فقط یک کانکشنِ TCP برای دریافت و ارسال درخواست ها استفاده می شود. ( یعنی برای درخواست های جداگانه Connection جدیدی ایجاد نمی شود.

اولین تفاوت این دو پروتکل این است که HTTP از نوع Pull protocol ها است.  Pull در لغت به معنای کشیدن است. کسی اطلاعات را در یک وب سرور بارگذاری می نماید و کاربران با استفاده از HTTP اطلاعات را از وب سرور بیرون می کشند. به بیان دیگر ارتباط TCP برای استفاده از HTTP از سمت کاربری آغاز می شود که قصد بیرون کشیدن فایل ها از وب سرور را دارد.

در سمت دیگر SMTP را داریم که پروتکلی از نوع Push Protocols می باشد. Push به فارسی معادل “هل دادن” است. Sending Mail Server یا سرور فرستنده ایمیل فایل را به سمت Receiving Mail Server یا دریافت کننده ایمیل هل می دهد. در اینجا برعکس HTTP ارتباط TCP توسط فرستنده فایل آغاز می شود.

تفاوت دیگر بین SMTP و  HTTP این است که در SMTP هر Message که شامل Body آن نیز می شود بایستی با فرمت 7-bit ASCII ارسال گردد. اگر پیغامی که ارسال می گردد شامل کاراکترهایی باشد که در کد گذاری 7-bit ASCII وجود ندارند ( مانند بعضی از حروف فرانسه یا فارسی که شامل اکسان هستند ) یا حاوی دیتا از نوع باینری باشد ( مانند عکس ها ) ، در این صورت پیام به ناچار باید ابتدا به فرمت 7-bit ASCII تبدیل شود. اما این محدودیت در HTTP وجود ندارد.

تا اینجا تفاوت های SMTP و HTTP را فراگرفتیم و از این طریق دانش بیشتری نسبت به آن ها پیدا کرده ایم. در مقاله بعدی به Mail Access Protocol ها خواهیم پرداخت. اما قبل از آن بهتر است که مختصر اطلاعاتی نیز درباره فرمت پیغام های ایمیل و اجزای اصلی آن ها کسب کنیم.

Mail Message Formats

از آن جایی که برای ارسال ایمیل باید قوانین واحدی در تمام دنیا وجو.د داشته باشد که نرم افزارهای مختلف بتوانند مطابق قانون خاصی با این پیغام ها کار کنند ، RFC شماره 5322 تدوین گردید. در این RFC درباره اینکه فرمت Mail Message ها باید از چه قوانینی طبعیت نماید به تفصیل بحث شده است. در RFC 5322 آمده است که وجود چند کلمه کلیدی خاص در هدر پیغام ارسال شده ضروری می باشد. اصلی ترین این Keyword ها شامل From ، To و Subject هستند.

همچنین نحوه نوشتن آن ها به این صورت خواهد بود که در ابتدا کلمه کلیدی به همراه دو نقطه و سپس بعد از یک Space مقدار آن وارد می گردد. برای مثال به Keywords زیر دقت نمایید.

From: navid@techtik.com

To: ali@charkheh.net

Subject: Always Learn Free

واضح است که در قسمت From آدرس فرستنده ، در قسمت To آدرس گیرنده و در قسمت Subject موضوع ایمیل قرار دارد. اگر ایمیل نیاز به Keyword های خاص دیگری نیز داشته باشد ، آن ها با همین فرمت به هدر اضافه می شوند. پس از کلمه های کلیدی یک خط خالی قرار خواهد گرفت و بعد از آن متن نامه ارسالی به صورت ASCII قرار خواهد گرفت. در اینجا User Agent  با استفاده از Telnet  پیغام را برای Mail Server ارسال می کند. Mail Server پیغام را از User Agent  دریافت خواهد کرد و در نهایت با استفاده از پروتکل SMTP ایمیل به Mail Server سمت دریافت کننده ارسال می گردد.

 

 

مطالب مرتبط

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.