Contents

    Server response 100 Continue

    HTTP สถานะโค้ด 100 (Continue)

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

    100 - Continue

    แนวคิดพื้นฐาน

    • ความหมายของสถานะโค้ด 100 (Continue): เป็นการแจ้งเตือนว่าคำขอเริ่มต้นถูกส่งไปยังเซิร์ฟเวอร์และได้รับการยอมรับแล้ว
    • เมื่อไหร่และทำไมถึงใช้โค้ดนี้: ใช้เมื่อมีการส่งข้อมูลขนาดใหญ่ เช่น การอัปโหลดไฟล์ เพื่อให้แน่ใจว่าการเชื่อมต่อยังคงเปิดอยู่และเซิร์ฟเวอร์พร้อมที่จะรับข้อมูลเพิ่มเติม

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

    ตัวอย่างที่ 1: การส่งไฟล์ขนาดใหญ่

    ในกรณีที่ลูกค้าต้องการส่งไฟล์ขนาดใหญ่ เช่น ไฟล์วิดีโอ การส่งคำขอเริ่มต้นอาจได้รับสถานะโค้ด 100 ซึ่งแสดงว่าเซิร์ฟเวอร์พร้อมที่จะรับข้อมูลนี้

    • ข้อดีของการใช้โค้ดนี้: ช่วยลดการใช้แบนด์วิธโดยการให้ลูกค้าทราบว่าเซิร์ฟเวอร์พร้อมที่จะรับข้อมูลจริง ๆ ก่อนที่จะเริ่มส่งข้อมูลทั้งหมด

    ตัวอย่างที่ 2: การตรวจสอบหัวข้อก่อนส่งข้อมูล

    โค้ด 100 ช่วยให้ลูกค้าสามารถตรวจสอบว่าหัวข้อของคำขอ เช่น ขนาดของไฟล์หรือประเภทของเนื้อหา ถูกต้องตามที่เซิร์ฟเวอร์คาดหวังก่อนที่จะส่งข้อมูลจริง

    วิธีแก้ไขข้อผิดพลาดที่เกี่ยวข้องกับโค้ด 100 (Continue)

    ตัวอย่างใน Python

    ถ้าเซิร์ฟเวอร์ไม่ตอบสนองด้วยโค้ด 100 อาจจะเกิดปัญหาในการส่งข้อมูล ลูกค้าสามารถใช้ไลบรารี requests ใน Python เพื่อจัดการกับโค้ดนี้

    import requests
    
    response = requests.post('http://example.com/upload', data={'file': open('largefile.zip', 'rb')}, headers={'Expect': '100-continue'})
    if response.status_code == 100:
        print("เซิร์ฟเวอร์พร้อมที่จะรับข้อมูล")
    

    ตัวอย่างใน Java

    ใน Java สามารถใช้ HttpURLConnection เพื่อจัดการกับสถานะโค้ด 100 โดยการตั้งค่าให้รองรับการส่งคำขอ

    import java.net.HttpURLConnection;
    import java.net.URL;
    
    URL url = new URL("http://example.com/upload");
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setDoOutput(true);
    connection.setRequestMethod("POST");
    connection.setRequestProperty("Expect", "100-continue");
    // ส่งข้อมูลที่นี่
    

    ตัวอย่างใน JavaScript

    การทำงานกับโค้ด 100 ใน JavaScript สามารถทำได้ผ่าน XMLHttpRequest หรือ fetch

    fetch('http://example.com/upload', {
        method: 'POST',
        headers: {
            'Expect': '100-continue'
        },
        body: largeFile
    }).then(response => {
        if (response.status === 100) {
            console.log("เซิร์ฟเวอร์พร้อมที่จะรับข้อมูล");
        }
    });
    

    แนวทางปฏิบัติที่ดีที่สุด

    • คำแนะนำในการใช้สถานะโค้ด 100: ใช้โค้ดนี้เฉพาะในกรณีที่มีการส่งข้อมูลขนาดใหญ่ เพื่อประหยัดแบนด์วิธและเพิ่มประสิทธิภาพ
    • การหลีกเลี่ยงปัญหาด้านการใช้งาน: ตรวจสอบให้แน่ใจว่าทั้งฝั่งคลายเอนต์และเซิร์ฟเวอร์รองรับการใช้โค้ดนี้

    คำถามที่พบบ่อย

    1. พฤติกรรมที่คาดหวังจากลูกค้าเมื่อได้รับโค้ด 100 คืออะไร?: ลูกค้าควรดำเนินการส่งข้อมูลต่อไปได้ทันที
    2. ควรทำอย่างไรหากเซิร์ฟเวอร์ไม่รองรับโค้ด 100?: ใช้การส่งข้อมูลโดยไม่คำนึงถึงโค้ด 100 และตรวจสอบการตอบสนองจากเซิร์ฟเวอร์โดยตรง
    สถานะโค้ด ความหมาย
    100 Continue - เซิร์ฟเวอร์ได้รับคำขอเริ่มต้นแล้ว
    200 OK - คำขอสำเร็จ
    400 Bad Request - คำขอไม่ถูกต้อง