Contents

    Server response 414 URI Too Long

    HTTP สถานะรหัส 414 (URI Too Long)

    รหัสสถานะ HTTP 414 (URI Too Long) แสดงให้เห็นว่าฝ่ายลูกค้าได้ส่ง URI ที่ยาวเกินกว่าความยาวสูงสุดที่เซิร์ฟเวอร์อนุญาต ซึ่งอาจเกิดจากการปฏิบัติที่ไม่ถูกต้องของผู้ใช้หรือการสร้างคำขอที่ผิดพลาด การทำความเข้าใจเกี่ยวกับผลกระทบที่เกิดขึ้นจากปัญหานี้ต่อการทำงานร่วมกับ API เป็นสิ่งสำคัญ เพื่อให้สามารถแก้ไขปัญหาที่เกิดขึ้นได้อย่างมีประสิทธิภาพ

    414 - URI Too Long

    สาเหตุของข้อผิดพลาด 414

    • การใช้สตริงคำขอยาวใน GET requests
    • การสร้างพารามิเตอร์จำนวนมากใน URL
    • ข้อผิดพลาดในการจัดการเซสชันและการแคช

    ตัวอย่างการเกิดข้อผิดพลาด

    1. ตัวอย่าง 1: URL ยาวที่มีพารามิเตอร์การกรองในเว็บไซต์อีคอมเมิร์ซ
    2. ตัวอย่าง 2: การสร้าง URL ด้วยข้อมูลจากฟอร์มที่มีจำนวนฟิลด์มาก
    3. ตัวอย่าง 3: การใช้ตัวระบุที่ยาวสำหรับวัตถุในฐานข้อมูล

    วิธีการแก้ไขข้อผิดพลาด 414 ในหลายภาษาโปรแกรม

    ภาษา วิธีการแก้ไข ตัวอย่างโค้ด
    PHP เปลี่ยนวิธีการร้องขอจาก GET เป็น POST สำหรับการส่งข้อมูล
    if ($_SERVER['REQUEST_METHOD'] === 'GET') {
        // เปลี่ยนเส้นทางไปยังฟอร์ม POST
        header('Location: /form', true, 302);
        exit();
    }
                
    JavaScript (Node.js) ใช้ POST requests สำหรับส่งข้อมูลที่ยาว
    const express = require('express');
    const app = express();
    
    app.post('/submit', (req, res) => {
        // การประมวลผลข้อมูล
    });
    
    app.listen(3000);
                
    Python (Flask) เปลี่ยนไปใช้ POST แทน GET สำหรับ URL ที่ยาว
    from flask import Flask, request
    
    app = Flask(__name__)
    
    @app.route('/submit', methods=['POST'])
    def submit():
        return 'ข้อมูลถูกประมวลผล'
    
    if __name__ == '__main__':
        app.run()
                

    คำแนะนำในการป้องกันข้อผิดพลาด 414

    • ใช้ POST requests แทน GET สำหรับการส่งข้อมูลที่มีปริมาณมาก
    • ปรับโครงสร้าง URL และจำกัดจำนวนพารามิเตอร์
    • ตรวจสอบความยาวของ URI บนฝั่งลูกค้าก่อนการส่งคำขอ