برنامه نویسی

کاربرد متاتگ refresh در صفحات وب (HTML)

امتیاز کاربران

ستاره فعالستاره فعالستاره فعالستاره فعالستاره غیر فعال
 

همانطور که می دانیم، صفحات وب از استاندارد خاصی تحت عنوان کدهای HTML یا (HyperText Markup Language) پیروی می کنند، بدین معنی که فارغ از اینکه به چه زبان سمت سروری برنامه نویسی کنید، حاصل کار در وب، به صورت کدهای html نمایان خواهد شد

 از طرفی گاهی مواقع به دلایل مختلف دسترسی به سرور محدود شده یا امکان پذیر نیست و برای اعمال دستورات و سلایق خود ناچاریم تنها دست به دامن این کدها شویم، نمود بارز این موضوع در سرویس های مدیریت وبلاگ خودنمائی می کند؛ مثلا اگر بخواهید کاربران را از وبلاگ قدیمی خود به وبلاگی جدید به صورت خودکار هدایت کنید، باید از متاتگی به نام رفرش (refresh) استفاده کنید که در این مطلب می خواهیم به تفصیل در رابطه با آن صحبت کنیم.

متاتگ refresh چیست؟


متاتگ رفرش یا refresh که به آن redirect هم می گویند، زیرمجموعه ای از شاخه متاتگ های http-equiv است که برای ارسال سربرگهای HTML یا HTTP header به کار می روند (به طور ساده HTTP header به معنی پاسخ های استاندارد و تعریف شده است که در مقابل درخواست مرورگر ارسال می شود تا مثلا وضعیت صفحه یا سرور، نحوه پردازش، یونیکد، ذخیره سازی و... را مدیریت کند)، متاتگ های http-equiv کاربردهای خاصی دارند، مانند:
- کنترل ذخیره (کَش) شدن صفحه (cache-control)

<meta http-equiv="cache-control" content="no-cache" />

- زبان محتوای صفحه (content-language)

<meta http-equiv="content-language" content="fa-IR" />

- نوع محتوای صفحه (content-type)

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

- تاریخ ایجاد صفحه (date)

<meta http-equiv="date" content="Wed, 21 Feb 2012 20:55:12 GMT" />

- تاریخ انقضای صفحه (expires)

<meta http-equiv="expires" content="never" />

- تاریخ آخرین ویرایش صفحه (last-modified)

<meta http-equiv="last-modified" content="Mon, 01 Jan 2013 18:32:44 GMT" />

- تعیین موقعیت برای انتقال (location)

<meta http-equiv="location" content="URL=https://hellodigi.ir" />

- تعیین مدت زمان برای رفرش خودکار صفحه (refresh)

<meta http-equiv="refresh" content="200" />

- تنظیم کوکی ها (set-cookie)

<meta http-equiv="set-cookie" content="hellodigicookie=value;expires=Fri, 1 Dec 2013 11:30:00 GMT; path=https://hellodigi.ir">

- نحوه نمایش صفحه در فِرِم (window-target)

<meta http-equiv="Window-Target" content="_top" />

در چه مواردی از متاتگ refresh استفاده کنیم؟


واقعیت این است که استفاده از متاتگ رفرش (refresh) برای صفحاتی که اهمیت زیادی دارند توصیه نمی شود و ممکن است این کار باعث بروز مشکلاتی با موتورهای جستجو شود، اما این بدین معنی نیست که به کل نمی توان از این متاتگ استفاده کرد، اگر به فرض وبلاگی داشته باشید که دیگر مطالب آن برایتان اهمیتی نداشته باشد و در مقابل وبلاگ جدیدی ایجاد کرده باشید، می توانید از این متاتگ استفاده کرده و کاربران را به طور خودکار به آن هدایت (redirect) کنید، یا فرض کنید در صفحات موسوم به 404 (صفحه مورد نظر پیدا نشد!)، می توانید کاربر را به صفحه اصلی انتقال دهید، نمونه دیگر می تواند استفاده از آن در هنگام ورود و خروج کاربران به سیستم باشد و یا درموقعیت های مشابه که نیاز به انتقال خودکار یا redirect است، پس یادمان باشد که استفاده از این متاتگ در همه جا توصیه نمی شود و فقط در موارد خاصی که مخصوصا پای موتورهای جستجو در میان نیست، می توانیم از آن استفاده کنیم.

چگونه از متاتگ refresh استفاده کنیم؟

 


استفاده از این متاتگ چندان سخت نیست، کافی است درون تگهای head ترجیحا در ابتدای صفحه، کد زیر را قرار دهید و زمان و صفحه مقصد را تنظیم نمائید.

 

<meta http-equiv="refresh" content="30; URL=https://hellodigi.ir" />

 

توضیح:
- مقادیر موجود در قسمت content میزان زمان (به ثانیه) است که کاربر به صفحه مقصد منتقل می شود.
- قسمت مربوط به URL با آدرس کامل صفحه مقصد باید تکمیل شود.
از متاتگ refresh برای بارگذاری دوباره همان صفحه نیز می توان استفاده کرد و نیازی نیست حتما کاربر را به صفحه ای دیگر منتقل (redirect) کنیم (بستگی به هدف شما دارد).

 

<meta http-equiv="refresh" content="200" />

آشنایی با سایر روش های redirect


در انتهای این مطلب بد نیست به سایر روش هایی که برعکس متاتگ refresh، مورد قبول موتورهای جستجو است، اشاره کنیم.
- استفاده از فایل htaccess و 301 redirect
بهترین گزینه برای ایجاد یک انتقال از صفحه ای (لینکی) به صفحه (لینک) دیگر، استفاده از دستور "HTTP/1.1 301 Moved Permanently" است، برای این منظور در فایلی به نام htaccess. معمولا در سرورهای Apache می توان تنظیماتی را انجام داد؛ مثلا:

RewriteEngine on
RewriteRule (.*) https://hellodigi.ir/ [R=301,L]

- استفاده از HTTP header در php
علاوه بر htaccess، در کدهای php نیز می توان این کار را با ارسال دستورات HTTP header انجام داد، خوشبختانه زبان پرقدرت و انعطاف پذیر php به راحتی قادر است مقادیر ارسالی به عنوان header صفحات را مدیریت کند.

<?php
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: https://hellodigi.ir" );
?>

 

تمام حقوق سایت برای سلام دیجی و نويسندگان آن محفوظ می باشد