Contents

    Server response 103 Early Hints

    HTTP สถานะรหัส 103 (Early Hints)

    HTTP สถานะรหัส 103 (Early Hints) เป็นสถานะใหม่ที่ช่วยให้เซิร์ฟเวอร์สามารถส่งคำแนะนำเบื้องต้นเกี่ยวกับทรัพยากรที่อาจจำเป็นสำหรับการประมวลผลคำขอไปยังลูกค้าได้ สิ่งนี้ช่วยเพิ่มความเร็วในการโหลดหน้าเว็บ เนื่องจากเบราว์เซอร์สามารถเริ่มโหลดทรัพยากรก่อนที่เซิร์ฟเวอร์จะทำการประมวลผลคำขอหลักเสร็จสิ้น

    103 - Early Hints

    การทำงานของสถานะรหัส 103

    • การกำหนดและวัตถุประสงค์หลัก
    • วิธีการทำงานของสถานะรหัส 103 ในบริบทของคำขอ HTTP

    การใช้งานสถานะรหัส 103 ในทางปฏิบัติ

    การใช้สถานะรหัส 103 สำหรับการเพิ่มประสิทธิภาพการโหลดหน้าเว็บเป็นวิธีที่มีประสิทธิภาพ ตัวอย่างการใช้งานรวมถึง:

    • การโหลดล่วงหน้าของฟอนต์และสไตล์
    • การระบุทรัพยากรที่สามารถเก็บในแคชได้

    การโต้ตอบกับเบราว์เซอร์และลูกค้า

    • วิธีที่เบราว์เซอร์จัดการกับสถานะรหัส 103
    • การสนับสนุนสถานะรหัส 103 ในเบราว์เซอร์ต่างๆ
    เบราว์เซอร์ การสนับสนุนสถานะรหัส 103
    Chrome ใช่
    Firefox ใช่
    Safari ไม่แน่ใจ

    ตัวอย่างการใช้งาน

    ตัวอย่างการใช้งานบนเซิร์ฟเวอร์ด้วย Node.js

    const express = require('express');
    const app = express();
    
    app.get('/', (req, res) => {
        res.writeHead(103, { 'Link': '; rel=preload; as=style' });
        // ทำการประมวลผลคำขอหลัก
        res.end('Hello World');
    });
    

    ในตัวอย่างนี้ เซิร์ฟเวอร์จะส่งสถานะรหัส 103 พร้อมกับการโหลดลิงก์ไปยังไฟล์ CSS

    ตัวอย่างการใช้งานบนเซิร์ฟเวอร์ด้วย Python (Flask)

    from flask import Flask, make_response
    
    app = Flask(__name__)
    
    @app.route('/')
    def index():
        response = make_response("Hello World")
        response.headers['Link'] = '; rel=preload; as=style'
        response.status_code = 103
        return response
    

    ตัวอย่างนี้แสดงให้เห็นการใช้ Flask เพื่อส่งสถานะรหัส 103 และลิงก์ทรัพยากร

    ตัวอย่างการใช้งานบนเซิร์ฟเวอร์ด้วย PHP

    header("HTTP/1.1 103 Early Hints");
    header("Link: ; rel=preload; as=style");
    echo "Hello World";
    

    ในตัวอย่าง PHP นี้ เซิร์ฟเวอร์จะส่งสถานะรหัส 103 และลิงก์สำหรับการโหลดทรัพยากร

    ปัญหาที่อาจเกิดขึ้นและการแก้ไข

    • วิธีการจัดการกับข้อผิดพลาดที่เกี่ยวข้องกับสถานะรหัส 103
    • ข้อผิดพลาด: ลูกค้าไม่สนับสนุนสถานะรหัส 103
    • การแก้ไข: แผนสำรองสำหรับเบราว์เซอร์เก่า

    การหลีกเลี่ยงการใช้งานสถานะรหัส 103 อย่างไม่ถูกต้อง

    • ข้อผิดพลาดทั่วไปและการแก้ไข

    การตั้งค่าเซิร์ฟเวอร์สำหรับการสนับสนุนสถานะรหัส 103

    • การตั้งค่าเซิร์ฟเวอร์เว็บ (Nginx, Apache)
    • คำแนะนำในการกำหนดค่า