وقتی مرورگر سرویس گیرنده، صفحه وبی را درخواست می کند، IIS پاسخی با Header براساس HTTP(HyperText Transfer Protocol) به او برمی گرداند. این Headerها که ترکیبهای دوتایی نام و مقدار هستند، دربردارنده اطلاعاتی در خصوص صفحه مورد تقاضا می باشند. این اطلاعات، شامل نسخه HTTP، تاریخ و نوع محتوا می شوند.
نترل محتوای وب سایت از طریق HTTP Response Header در IIS7.5
HTTP Response Headers چیست؟
وقتی مرورگر سرویس گیرنده، صفحه وبی را درخواست می کند، IIS پاسخی با Header براساس (HTTP(HyperText Transfer Protocol به او برمی گرداند. این Headerها که ترکیبهای دوتایی نام و مقدار هستند، دربردارنده اطلاعاتی در خصوص صفحه مورد تقاضا می باشند. این اطلاعات، شامل نسخه HTTP، تاریخ و نوع محتوا می شوند.
برای مثال شما می توانید یک Header با نام “authors” ایجاد کنید که شامل نام گردآورندگان مطلب باشد. یا ممکن است یک Content-Language Header را جهت توصیف زبان مورد استفاده در صفحه وب ایجاد کنید و برای آن چندین مقدار language-country/region همچون en-US، en-CA و en-GB در نظر بگیرید.
از طریق وبسایت http://web-sniffer.net می توانید HTTP response headerهای یک وبسایت را ببنید. با وارد کردن https://iranhost.com/ مقادیر زیر نمایش داده می شوند:
نام | مقدار |
Cache-Control: | private |
Content-Type: | text/html; charset=utf-8 |
Content-Encoding: | gzip |
Vary: | Accept-Encoding |
Server: | Microsoft-IIS/7. 5 |
Set-Cookie: | ASP.NET_SessionId=jbc5s1nsgnvlcfjt4bypfh45; path=/; HttpOnly |
X-AspNet-Version: | ۲.۰.۵۰۷۲۷ |
X-Powered-By: | ASP.NET |
Date: | Mon, 06 Aug 2012 22:32:58 |
GMTConnection: | close |
Content-Length: | ۱۷۲۰۶ |
در صورتی که شما یک HTTP response header در سطح سایت خود بسازید، تمامی web applicationها، پوشه ها و فایل ها، این header را به ارث می برند مگر اینکه شما یک header در سطح پایین تر را بر دیگر headerها اولویت بدهید. به همین صورت web applicationها و پوشه ها، header را از سطح وبسایت به ارث می برند و فایل ها، از سطح web applicationها یا پوشه ها، headerها را به ارث می برند.
نکته: شما می توانید به صورت موقت یک header را حذف کنید بنابراین آن header در هنگام درخواست ارسال نخواهد شد. سپس در هنگامی که آن را نیاز داشتید، دوباره آن را restore کنید.
پیشنهاد می کنیم مقاله کوکی چیست را مطالعه نمایید.
چگونه یک HTTP Response Headers ایجاد کنیم؟
۱- IIS Manager را باز کنید.
_در صورتی که از پلان های میزبانی ۲۰۰۸ ایران هاست استفاده می کنید،جهت اتصال به IIS لطفا مقاله “نحوه اتصال به IIS هاست جهت مدیریت از راه دور” را مطالعه فرمایید.
_در صورتی که از Windows Server 2008 یا Windows Server 2008 R2 استفاده می کنید:
- روی start در taskbar کلیک کنید، به گزینه Administrative Tools اشاره کرده و روی Internet Information Services (IIS) Manager کلیک کنید.
_در صورتی که از Windows Vista یا Windows 7 استفاده می کنید:
- روی start در taskbar کلیک کرده و Control Panel را انتخاب کنید.
- بر روی Administrative Tools و سپس Internet Information Services (IIS) Manager دوبارکلیک نمایید.
۲- در پانل Connections در سمت چپ Server>Sites را باز کنید سپس سایت مورد نظر خود را انتخاب کنید.
۳- از گزینه های موجود در صفحه بر روی HTTP Response Headers دوبارکلیک نمایید.
۴- از پانل Actions روی گزینه Add کلیک کنید.
۵- در پنجره Add Custom HTTP Response Header، یک نام در بخش Name و یک مقدار و یا مجموعه ای از مقادیر(مقادیر مختلف را با کاما “,” از هم جدا کنید) را در بخش Value وارد نمایید.
۶- بر روی OK کلیک کنید تا Header جدید ساخته و به فهرست اضافه شود.
چگونه یک HTTP Response Headers را ویرایش کنیم؟
در مواقعی که می خواهید اطلاعاتی که در پاسخ به درخواست یک صفحه وب ارسال می شود، تغییر کند، HTTP response header موردنظر خود را ویرایش کنید.
پس از اینکه بر روی HTTP Response Headers دوبارکلیک نمودید:
۱- از پانل Actions روی گزینه Edit کلیک کنید.
۲- در پنجره Edit Custom HTTP Response Header، ویرایش خود را بر روی نام و مقدار وارد شده انجام دهید.
۳- جهت ذخیره تنظیمات، بر روی OK کلیک کنید.
HTTP Keep-Alive Response Header چیست؟
HTTP Keep-Alive Response Header با باز نگه داشتن(open) ارتباط(connection) بین سرویس دهنده و سرویس گیرنده در طی درخواست های متعدد، کارایی سرویس دهنده را بهبود می بخشد. باز ماندن یک ارتباط در هنگام ارسال چندین درخواست(request)، موجب می شود تا سرویس دهنده بتواند محتوای موردنظر هر درخواست را، خیلی سریع تر ارسال نماید.در غیر این صورت سرویس دهنده می بایست به ازای هر درخواست، یک ارتباط جدید باز کند. به صورت پیش فرض در IIS7 این امکان فعال شده است.
نکته: در صورتی که از Integrated Security یا connection-based authentication services همچون Integrated Windows Authentication استفاده می کنید می بایست HTTP Keep-Alive Response Header را فعال کنید.
چگونه HTTP Keep-Alive Response Header را فعال کنیم؟
پس از اینکه بر روی HTTP Response Headers دوبارکلیک نمودید:
۱- از پانل Actions روی گزینه Set Common Headers کلیک کنید.
۲- در پنجره Set Common HTTP Response Headers، گزینه Enable HTTP keep-alive را انتخاب کنید.
۳- جهت ذخیره تنظیمات، بر روی OK کلیک کنید.
پیشنهاد می شود: unicode چیست ؟ از utf-8 چه میدانید
HTTP Expires Response Header چیست؟
بدین وسیله مرورگر تصمیم می گیرد تا محتوای صفحه وب را از سرویس دهنده درخواست کند یا اینکه از نسخه ذخیره شده در cache خود استفاده کند. روال انجام این قابلیت بدین صورت است که سرویس دهنده مقدار header را به مرورگر سرویس گیرنده برمی گرداند، مرورگر مقدار header را با تاریخ جاری مقایسه کرده و تعیین می کند که صفحه موردنظر را از cache کامپیوتر سرویس گیرنده بخواند یا درخواست update شدن صفحه را به سرویس دهنده ارسال کند.
در هنگام تنظیم مدت انقضای یک Response Header موارد زیر را در نظر بگیرید:
- در صورتی که محتویات صفحه به صورت منظم، برای مثال هر روز یا هر هفته، update می شوند، بهتر است به صورت دوره ای منقضی شوند.
- در صورتی که محتویاتی از صفحه دارای اطلاعات حساسی هستند و شما نمی خواهید آنها cache شوند یا اینکه خیلی زود به زود update می شوند، می بایست به صورت بلافاصله(immediately) منقضی شوند.
- درخصوص محتویاتی که انتظار نمی رود تغییر کنند، بهتر است تقریبا پس از یک سال منقضی شوند.
چگونه HTTP Expires Response Header را تنظیم کنیم؟
پس از اینکه بر روی HTTP Response Headers دوبارکلیک نمودید:
۱- از پانل Actions روی گزینه Set Common Headers کلیک کنید.
۲- در پنجره Set Common HTTP Response Headers، گزینه Expire Web content را تیک بزنید و یکی از موارد زیر را انتخاب نمایید:
- اگر می خواهید محتویات صفحه بلافاصله پس از ارسال این header منقضی شوند، Immediately را انتخاب کنید.
- اگر می خواهید محتویات صفحه به صورت دوره ای منقضی شوند، After را انتخاب کنید. سپس در ادامه یک عدد صحیح و یک دوره زمانی جهت انقضای محتویات انتخاب کنید. برای مثال در صورتی که می خواهید محتویات به صورت روزانه منقضی شوند، عدد ۱ را وارد نموده و Days را انتخاب کنید.
- اگر می خواهید محتویات صفحه در یک روز و ساعت مشخص منقضی شوند((On (in Coordinated Universal Time (UTC را انتخاب کنید. سپس در ادامه تاریخ و ساعت موردنظر خود را وارد نمایید.
۳- جهت ذخیره تنظیمات، بر روی OK کلیک کنید.
به شما پیشنهاد می کنیم مقاله mime Type چیست را نیز مطالعه نمایید تا دایره اطلاعاتتان در رابطه با IIS 7.5 وسیعتر گردد.