لایه ارائه در لایه 6 مدل ارتباطات اتصال سیستمهای باز (OSI) قرار دارد و اطمینان میدهد که ارتباطاتی که از طریق آن عبور میکنند، به شکل مناسبی برای برنامه گیرنده باشند. به عبارت دیگر، لایه ارائه دادهها را از دیدگاه لایه برنامه به یک قالب خوانا ارائه میدهد.
برای مثال، یک برنامه لایه ارائه میتواند یک درخواست انتقال فایل را به کد دودویی قالببندی کند تا انتقال فایل موفقیتآمیز را تضمین کند. چون کد دودویی سادهترین زبانهای محاسباتی است، اطمینان میدهد که دستگاه گیرنده میتواند آن را رمزگشایی و به یک قالبی ترجمه کند که لایه برنامه میفهمد و انتظار دارد.
چگونگی کار لایه ارائه هنگامی که لایه برنامه دادههایی را که برای انتقال به دستگاه دیگر در یک قالب خاص منظور شده است، ارسال میکند، لایه ارائه سپس این دادهها را در بهترین قالبی که برنامه گیرنده میتواند درک کند، آماده میسازد.
قالبهای داده رایج به شرح زیر است:
کد استاندارد آمریکایی برای تبادل اطلاعات و کد دودویی گسترده دهدهی برای متن؛ JPEG، GIF و TIFF برای تصاویر؛ و MPEG، MIDI و QuickTime برای ویدئو. رمزگذاری و رمزگشایی ارتباطات داده نیز در لایه ارائه انجام میشود. در اینجا، روشها و کلیدهای رمزگذاری بین دو دستگاه ارتباطی مبادله میشوند. تنها فرستنده و گیرنده میتوانند به درستی دادهها را رمزگذاری و رمزگشایی کنند تا به یک قالب خوانا برگردد.
لایه ارائه میتواند دادههای برنامه پیچیدهتر را سریالسازی - یا ترجمه - کند به یک قالب قابل ذخیرهسازی و قابل حمل. این کمک میکند تا شیء پس از رسیدن به طرف دیگر جریان ارتباطی، دوباره ساخته شود. لایه ارائه همچنین جریان داده را غیر سریالسازی میکند و آن را به یک قالب شیء قرار میدهد که برنامه توسط برنامه قابل درک است.
ابزاری که پروتکل انتقال متن فراگیر (HTTP) را مدیریت میکند، مثالی از برنامهای است که به طور آزادانه به لایه ارائه OSI پایبند است.
اگرچه از نظر فنی به عنوان یک پروتکل لایه برنامه طبق مدل TCP/IP در نظر گرفته میشود، HTTP شامل خدمات لایه ارائه درون آن است. HTTP کار میکند وقتی دستگاه درخواستکننده درخواستهای کاربر را که به مرورگر وب منتقل شده است، به یک وب سرور در جای دیگر شبکه منتقل میکند.
HTTP یک پیام بازگشتی از وب سرور دریافت میکند که شامل یک سربرگ افزونههای اینترنتی چندمنظوره (MIME) است. سربرگ MIME نوع فایل - متن، ویدئو یا صوت - را که دریافت شده است، نشان میدهد تا یک ابزار پخش مناسب بتواند فایل را به کاربر ارائه دهد.
عملکردهای لایه ارائه
- اطمینان از قالببندی و تحویل مناسب به و از لایه برنامه؛
- انجام رمزگذاری دادهها؛ و
- مدیریت سریالسازی اشیاء داده.