เฮดเดอร์ (Header) เป็นข้อมูลบางอย่างที่ใช้ในการสื่อสารกันระหว่างเซิร์ฟเวอร์และเบราเซอร์การกำหนดเฮดเดอร์จะใช้ฟังก์ชัน ดังนี้
header(“ชื่อเฮดเอร์: ค่าเฮดเดอร์”)
- ชื่อเฮดเดอร์ มีหลายลักษณะ ขึ้นกับว่าเราจะส่งข้อมูลอะไรไปยังเบราเซอร์
- ค่าเฮดเดอร์ ต้องกำหนดให้อยู่ในสตริงเดียวกันกับชื่อเฮดเดอร์ เช่น
header(“Location: http://www.developerthai.com”);
การประกาศเฮดเดอร์จะต้องทำก่อนที่จะส่งข้อมูลใดๆไปยังเบราเซอร์ ดังเช่น
<?php
header("...");
?>
<!DOCTYPE html...>
หากเป็นคำสั่งของ PHP ที่ไม่ใช่การส่งข้อมูลไปยังเบราเซอร์ แต่เป็นคำสั่งที่มีผลเฉพาะที่เซิร์ฟเวอร์ สามารถเขียนไว้ก่อนการประกาศเฮดเดอร์ได้ เช่น
<?php
if($_POST) {
$login = $_POST['login'];
if($login == "abc") {
header("...");
}
}
?>
<!DOCTYPE html...>
การป้องกัน Page Caching
ปกติแล้ว เบราเซอร์จะเก็บข้อมูลของเพจที่เราเพิ่งเปิดเมื่อไม่กี่นาทีที่ผ่านมาเอาไว้ในหน่อยความจำพิเศษที่เรียกว่า Cache และถ้าเราเข้าเยี่ยมเพจเดิมอีดครั้ง ด้วยระยะเวลาที่ห่างกันไม่ไม่นาน (ประมาณ 15 นาที เบราเวฮร์จะไม่โหลดเพจนั้นจาดเซอร์ฟเวอร์มาใหม่ แต่จะใช้ข้อมูลที่เก็บอยู่ใน Cache แทน
การป้องกันการ cache จะใช้เฮดเดอร์ใน PHP ได้ดังนี้
header("Cache-Control:max-age=0;no-cache;no-store;must-revalidate");
การย้ายเพจ (Redirect)
คือการเปลี่ยนเพจที่แสดงในขณะนั้นไปยังเพจอื่น แต่หากนำมาใช้ร่วมกับเฮดเดอร์ การย้ายเพจจะเกิดขึ้นก่อนที่เนื้อหาของเพจปัจจุบันจะถูกแสดง
header("Location: URL");
สำหรับการกำหนดตำแหน่งเพจ อาจกำหนดเป็น URL เต็มๆ แต่ถ้าอยู่ในเว็บเดียวกันอาจกำหนดแบบ absolute path หรือ Relative ตามที่ ศึกษา
