Status Code 102 Processing คืออะไร เซิร์ฟเวอร์ส่งสัญญาณ กำลังประมวลผล

INEZA Felin-Michel

INEZA Felin-Michel

10 September 2025

Status Code 102 Processing คืออะไร เซิร์ฟเวอร์ส่งสัญญาณ กำลังประมวลผล

คุณกำลังอัปโหลดไฟล์วิดีโอขนาดใหญ่หลายกิกะไบต์ไปยังคลาวด์ แถบความคืบหน้าเลื่อนไปอย่างช้าๆ ทันใดนั้น เบราว์เซอร์ของคุณก็ค้าง หน้าเว็บดูไม่ตอบสนอง หลังจากผ่านไปหลายนาทีที่น่ากังวล คุณก็ได้รับข้อผิดพลาดที่น่ากลัว: 504 Gateway Timeout. เซิร์ฟเวอร์ยอมแพ้คุณแล้ว

ตอนนี้ ลองจินตนาการถึงสถานการณ์ที่แตกต่างออกไป การอัปโหลดช้าพอๆ กัน แต่มีตัวบ่งชี้การหมุนเล็กๆ บนหน้าเว็บกำลังทำงานอยู่ คุณได้รับการแจ้งเตือน: "กำลังประมวลผลวิดีโอของคุณ... ซึ่งอาจใช้เวลาสองสามนาที" คุณรออย่างอดทน และในที่สุด คุณก็ได้รับข้อความแสดงความสำเร็จ

ความแตกต่างคืออะไร? ในสถานการณ์ที่สอง เซิร์ฟเวอร์อาจใช้รหัสสถานะ HTTP ที่ชาญฉลาด แต่หายาก เพื่อจัดการความคาดหวังของคุณ: 102 Processing.

รหัสสถานะนี้เป็นวิธีที่เซิร์ฟเวอร์ใช้บอกอย่างสุภาพว่า "เฮ้ ผมได้รับคำขอของคุณแล้ว มันเป็นคำขอที่ใหญ่ และผมจะใช้เวลาสักพักกว่าจะเสร็จ แต่ผมยังคงทำงานอยู่ ดังนั้นโปรดอย่าตัดการเชื่อมต่อจากผม!"

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

หากคุณเคยเกี่ยวข้องกับการพัฒนาเว็บหรือการรวม API คุณอาจเคยผ่านตารหัสสถานะ HTTP มาบ้าง โดยเฉพาะรหัสที่เป็นที่นิยม เช่น 200 OK หรือ 404 Not Found อย่างไรก็ตาม ยังมีรหัสบางอย่างที่ไม่ค่อยเป็นที่รู้จัก แต่มีความสำคัญไม่แพ้กัน เช่น 102 Processing แม้จะไม่เป็นที่เข้าใจกันอย่างแพร่หลาย แต่สถานะ HTTP นี้ช่วยปรับปรุงประสิทธิภาพการสื่อสารระหว่างไคลเอนต์และเซิร์ฟเวอร์ โดยเฉพาะอย่างยิ่งเมื่อต้องจัดการกับคำขอที่ซับซ้อนหรือใช้เวลานาน

เมื่อมองแวบแรก อาจฟังดูสับสน "การประมวลผล" คืออะไรกันแน่? ทำไมเซิร์ฟเวอร์ต้องส่งข้อความนี้ด้วย? และที่สำคัญที่สุด นักพัฒนาควรจัดการกับมันอย่างไรในแอปพลิเคชันจริง?

นั่นคือสิ่งที่เราจะสำรวจในคู่มือนี้

ในบล็อกโพสต์ฉบับสมบูรณ์นี้ คุณจะได้ค้นพบความหมายของรหัสสถานะ 102 Processing, เหตุผลที่ถูกนำมาใช้, วิธีการทำงาน, และสถานการณ์ที่นำไปใช้ หากคุณต้องการทดสอบรหัสสถานะ HTTP รวมถึงรหัสที่หายากอย่าง 102 Processing คุณต้องมีแพลตฟอร์มทดสอบ API ที่เชื่อถือได้ นั่นคือที่ที่ Apidog เข้ามามีบทบาท ด้วย Apidog คุณสามารถ ออกแบบ, จำลอง, ทดสอบ, ดีบัก และ จัดทำเอกสาร API ได้อย่างราบรื่นในขณะที่ตรวจสอบการตอบกลับแบบเรียลไทม์ และส่วนที่ดีที่สุดคืออะไร? คุณสามารถดาวน์โหลด Apidog ได้ฟรีวันนี้ และเริ่มสำรวจรหัสต่างๆ เช่น 102 Processing ได้ด้วยตัวเอง

ปุ่ม

ตอนนี้ เรามาสำรวจวัตถุประสงค์ ประวัติ และการนำไปใช้งานจริงของรหัสสถานะ HTTP 102 Processing กัน

ปัญหา: อินเทอร์เน็ตที่ไม่อดทน

อินเทอร์เน็ตถูกสร้างขึ้นบนพื้นฐานของความไม่อดทน การเชื่อมต่อ HTTP ไม่ได้มีไว้ให้เปิดตลอดไป ทุกองค์ประกอบในห่วงโซ่ตั้งแต่ไคลเอนต์ (เบราว์เซอร์ของคุณ) ไปจนถึงพร็อกซีและโหลดบาลานเซอร์ที่มีศักยภาพ ล้วนมีไทม์เอาต์ในตัว

หากเซิร์ฟเวอร์ใช้เวลานานเกินไปในการส่งการตอบกลับ องค์ประกอบเหล่านี้จะถือว่าการเชื่อมต่อตายแล้วและจะยุติการเชื่อมต่อ ซึ่งมักส่งผลให้เกิดข้อผิดพลาดเช่น:

นี่คือการป้องกันความผิดพลาดที่สมเหตุสมผล มันป้องกันการเชื่อมต่อที่ค้างจากการใช้ทรัพยากรที่มีค่า อย่างไรก็ตาม มันสร้างปัญหาสำหรับการดำเนินการที่ถูกต้องตามกฎหมายที่ใช้เวลานานในการดำเนินการให้เสร็จสิ้น เช่น การประมวลผลวิดีโอขนาดใหญ่ การสร้างรายงานที่ซับซ้อน หรือการดำเนินการข้อมูลจำนวนมาก

คำถามคือ: เซิร์ฟเวอร์จะบอกไคลเอนต์ว่า "ฉันยังคงทำงานอยู่" ได้อย่างไร โดยที่ไม่ต้องส่งการตอบกลับขั้นสุดท้ายจริงๆ?

คำตอบที่กำหนดไว้ใน RFC 2518 (สำหรับ WebDAV) คือรหัสสถานะ 102 Processing.

รหัสสถานะ 102 Processing คืออะไร?

รหัสสถานะ HTTP 102 Processing อยู่ในกลุ่มการตอบกลับประเภท 1xx Informational รหัสสถานะเหล่านี้ไม่ได้แสดงถึงคำตอบสุดท้าย แต่จะให้ข้อมูลเพิ่มเติมในระหว่างวงจรชีวิตของคำขอและการตอบกลับ

โดยเฉพาะอย่างยิ่ง 102 Processing หมายถึง:

"เซิร์ฟเวอร์ได้รับคำขอของคุณแล้วและกำลังดำเนินการอยู่ แต่ยังไม่มีการตอบกลับขั้นสุดท้าย"

รหัสสถานะนี้ถูกกำหนดไว้ใน RFC 2518 (ส่วนขยาย WebDAV ของ HTTP) โดยหลักแล้วถูกออกแบบมาเพื่อให้ไคลเอนต์ทราบว่า:

ต่างจากรหัสตอบกลับทั่วไปที่ส่งสัญญาณความสำเร็จหรือความล้มเหลว 102 เป็นวิธีหนึ่งในการแจ้งให้ไคลเอนต์ทราบและป้องกันการหมดเวลาก่อนกำหนดสำหรับคำขอที่ใช้เวลานาน

การเชื่อมต่อ WebDAV

ในการทำความเข้าใจ 102 Processing คุณต้องพูดถึง WebDAV (Web Distributed Authoring and Versioning) WebDAV เป็นส่วนขยายของ HTTP ที่ช่วยให้ไคลเอนต์สามารถแก้ไขและจัดการไฟล์บนเว็บเซิร์ฟเวอร์ระยะไกลร่วมกันได้ เป็นเทคโนโลยีเบื้องหลัง "ไดรฟ์เครือข่าย" ที่คุณสามารถแมปได้ใน Windows หรือ macOS

การดำเนินการของ WebDAV เช่น การคัดลอกหรือย้ายโฟลเดอร์ที่มีไฟล์หลายพันไฟล์อาจใช้เวลานานมาก รหัสสถานะ 102 ถูกสร้างขึ้นมาโดยเฉพาะสำหรับบริบทนี้เพื่อรักษาการเชื่อมต่อให้คงอยู่ระหว่างการดำเนินการที่ยาวนานเหล่านี้

ทำไม 102 Processing ถึงมีอยู่?

คำขอเว็บสมัยใหม่มักจะซับซ้อนและใช้เวลานาน โดยเฉพาะอย่างยิ่งเมื่อการประมวลผลเกี่ยวข้องกับ:

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

นั่นคือจุดที่ 102 Processing เข้ามามีบทบาท

มันบอกไคลเอนต์ว่า: "ใจเย็นๆ ฉันได้รับคำขอของคุณแล้ว กำลังใช้เวลาหน่อย แต่ฉันกำลังดำเนินการอยู่"

สิ่งนี้มีประโยชน์อย่างยิ่งใน:

ก่อนที่จะมีการนำ 102 มาใช้ ไคลเอนต์ไม่ทราบว่าคำขอช้าหรือหายไป ซึ่งมักนำไปสู่การลองใหม่ที่ไม่จำเป็นหรือการหมดเวลาการเชื่อมต่อ รหัส 102 ทำหน้าที่เหมือนสัญญาณชีพ บอกไคลเอนต์ว่า: "รอสักครู่ ฉันกำลังดำเนินการอยู่!"

บทบาทของ 102 ใน WebDAV

102 Processing เดิมถูกนำมาใช้ใน WebDAV (Web Distributed Authoring and Versioning) ซึ่งเป็นส่วนขยายของ HTTP สำหรับการจัดการไฟล์ร่วมกัน

ตัวอย่างเช่น หากผู้ใช้อัปโหลดไฟล์ขนาด 500 MB:

แม้ว่า WebDAV จะเป็นตัวขับเคลื่อนหลัก แต่ 102 ก็สามารถมีประโยชน์ใน REST API และบริการคลาวด์สมัยใหม่ที่ต้องรับมือกับปริมาณงานที่หนักหน่วง

ความแตกต่างระหว่าง 100 Continue และ 102 Processing

คุณอาจสงสัยว่า 102 แตกต่างจาก 100 Continue ที่คล้ายกันอย่างไร:

รหัสสถานะเหล่านี้ร่วมกันช่วยปรับปรุงประสิทธิภาพการสื่อสารในระหว่างวงจรคำขอที่ซับซ้อน

วิธีการทำงาน: การไหลของการสื่อสาร

เรามาดูตัวอย่างสมมติของการตอบกลับ 102 Processing ที่กำลังทำงานกัน

สถานการณ์: ไคลเอนต์บอกเซิร์ฟเวอร์ให้ "ประมวลผลรูปภาพที่อัปโหลดทั้งหมดเพื่อสร้างภาพพาโนรามา" นี่คืองานที่ใช้ CPU สูง ซึ่งจะใช้เวลา 90 วินาที

คำขอ:

PUT /api/generate-panorama HTTP/1.1
Host: example.com
Content-Length: 600000000

การตอบกลับทันที (102):

API ของเซิร์ฟเวอร์ได้รับคำขอและตรวจสอบความถูกต้อง เซิร์ฟเวอร์รู้ว่างานจะใช้เวลาสักครู่ แทนที่จะเงียบ มันจะส่งกลับทันทีว่า:

HTTP/1.1 102 Processing

การตอบกลับนี้ไม่มีเนื้อหา มีเพียงบรรทัดสถานะและส่วนหัว หน้าที่เดียวของมันคือการบอกว่า "ฉันกำลังดำเนินการอยู่"

ช่วงเวลารอ:

ไคลเอนต์ได้รับรหัส 102 ไคลเอนต์ที่ดีจะเข้าใจว่านี่หมายถึงควรเปิดการเชื่อมต่อไว้และรอต่อไป ตัวจับเวลาการหมดเวลาของไคลเอนต์จะถูกรีเซ็ตอย่างมีประสิทธิภาพ

การตอบกลับขั้นสุดท้าย:

เก้าสิบวินาทีต่อมา เซิร์ฟเวอร์ก็สร้างภาพพาโนรามาเสร็จสิ้น ตอนนี้มันส่งการตอบกลับจริงผ่านการเชื่อมต่อเดียวกัน:

HTTP/1.1 200 OKContent-Type: application/json
{"status": "success", "url": "/images/panorama-123.jpg"}

วงจรคำขอ-ตอบกลับเสร็จสมบูรณ์แล้ว

สัญญาณ "รักษาการเชื่อมต่อ" แบบง่ายๆ นี้ช่วยป้องกันอุปกรณ์เครือข่ายและไคลเอนต์จากการเข้าใจผิดว่าเซิร์ฟเวอร์เสียไปแล้ว

ทำไม 102 Processing ถึงไม่เป็นที่นิยมมากนัก?

หากสิ่งนี้มีประโยชน์มาก ทำไมนักพัฒนาส่วนใหญ่ถึงไม่เคยเห็นหรือใช้มันเลย? มีเหตุผลสำคัญบางประการ:

การเพิ่มขึ้นของรูปแบบ Asynchronous: โซลูชันสมัยใหม่สำหรับคำขอที่ใช้เวลานานมักจะดีกว่า 102 Processing แทนที่จะเปิดการเชื่อมต่อค้างไว้หลายนาที แนวปฏิบัติที่ดีที่สุดในปัจจุบันคือ:

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

การสนับสนุนไคลเอนต์ที่จำกัด: เพื่อให้ 102 Processing ทำงานได้ ไคลเอนต์ต้องรู้วิธีจัดการกับมัน ไม่ใช่ไคลเอนต์ HTTP และไลบรารีทั้งหมดถูกสร้างขึ้นมาเพื่อคาดหวังหรือตีความการตอบกลับหลายรายการบนการเชื่อมต่อเดียวได้อย่างถูกต้อง รูปแบบ asynchronous ที่มีการ polling เป็นที่เข้าใจกันโดยทั่วไป

ไม่ได้แก้ปัญหาทั้งหมด: การตอบกลับ 102 จะรีเซ็ตการหมดเวลาสำหรับการเชื่อมต่อ แต่ไม่ได้ให้การอัปเดตความคืบหน้าใดๆ ไคลเอนต์ยังคงไม่ทราบว่างานเสร็จไปแล้ว 1% หรือ 99% รูปแบบการ polling ช่วยให้มีฟิลด์ความคืบหน้าในการตอบกลับสถานะได้

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

มาดูกันว่าสิ่งนี้อาจเป็นอย่างไรในทางปฏิบัติ

คำขอจากไคลเอนต์:

PUT /files/large-video.mp4 HTTP/1.1
Host: example.com
Content-Length: 600000000

การตอบกลับของเซิร์ฟเวอร์ (ขณะที่ยังคงทำงานอยู่):

HTTP/1.1 102 Processing

การตอบกลับขั้นสุดท้ายของเซิร์ฟเวอร์ (เมื่องานเสร็จสิ้น):

HTTP/1.1 201 Created
Location: /files/large-video.mp4

ในที่นี้ การตอบกลับ 102 ช่วยให้ไคลเอนต์มั่นใจว่ากำลังมีความคืบหน้าก่อนที่จะมีการตอบกลับ 201 Created ขั้นสุดท้าย

การใช้งานสมัยใหม่และทางเลือกอื่น

แม้ว่า 102 Processing แบบบริสุทธิ์จะหายาก แต่ปัญหาที่มันแก้ไขนั้นไม่ใช่ เว็บสมัยใหม่ได้นำกลยุทธ์อื่นๆ มาใช้ซึ่งแข็งแกร่งและปรับขนาดได้ดีกว่า:

  1. 202 Accepted + Polling: ตามที่อธิบายไว้ข้างต้น นี่คือรูปแบบที่พบได้บ่อยที่สุดและปรับขนาดได้ดีที่สุดในปัจจุบัน
  2. Server-Sent Events (SSE): สำหรับการดำเนินการที่ใช้เวลานานที่เซิร์ฟเวอร์ต้องการส่งการอัปเดตความคืบหน้า SSE ให้ช่องทางเดียวสำหรับเซิร์ฟเวอร์ในการส่งเหตุการณ์หลายรายการไปยังไคลเอนต์
  3. Webhooks: การแยกส่วนที่สมบูรณ์แบบ เซิร์ฟเวอร์ประมวลผลงานแล้วส่ง callback (webhook) ไปยัง URL ที่ไคลเอนต์ให้ไว้เพื่อแจ้งให้ทราบเมื่อเสร็จสิ้น

อย่างไรก็ตาม 102 Processing ยังคงเป็นเครื่องมือที่มีประโยชน์ในสถานการณ์เฉพาะ โดยเฉพาะอย่างยิ่งใน API ภายในหรือระบบที่:

กรณีการใช้งานจริง

คุณอาจพบ 102 Processing ในชีวิตจริงได้ที่ไหนบ้าง?

ไคลเอนต์ควรทำอย่างไรเมื่อได้รับ 102 Processing?

การตอบกลับ 102 เป็นเพียงข้อมูล ดังนั้นไคลเอนต์มักจะ:

ไคลเอนต์ HTTP สมัยใหม่ส่วนใหญ่จัดการ 102 ได้อย่างราบรื่นหรือละเว้นมัน เนื่องจากไม่ได้สรุปธุรกรรม

ผลกระทบของ 102 Processing ต่อประสบการณ์ผู้ใช้และประสิทธิภาพ

แม้ว่า 102 จะช่วยป้องกันการหมดเวลาก่อนกำหนด แต่ก็สามารถเพิ่มความซับซ้อนได้:

ประโยชน์ของ 102 Processing

ทำไมต้องสนใจ 102 Processing ด้วย?

ปัญหาและข้อผิดพลาดทั่วไป

แม้จะมีประโยชน์ แต่ก็มีข้อควรระวังบางประการ:

การทดสอบ API ด้วย Apidog

เมื่อทำงานกับรหัสสถานะเช่น 102 Processing การทดสอบอย่างถูกต้องเป็นสิ่งสำคัญ แต่การทดสอบ API ที่ใช้ 102 Processing อาจเป็นเรื่องยุ่งยากเนื่องจากการตอบกลับแบบ asynchronous และหลายขั้นตอน

นี่คือจุดที่ Apidog โดดเด่นอย่างแท้จริง:

ปุ่ม

หากคุณจริงจังกับการพัฒนา API, Apidog ช่วยให้การดีบักรหัสสถานะที่หายากเป็นเรื่องง่าย ดาวน์โหลด Apidog ฟรี และเชี่ยวชาญการทดสอบ API ของคุณ รวมถึง API ที่จัดการเวิร์กโฟลว์ 102 Processing ที่ซับซ้อน

แนวทางปฏิบัติที่ดีที่สุดสำหรับนักพัฒนา

นี่คือเคล็ดลับบางประการเมื่อทำงานกับ 102 Processing:

สรุป: เครื่องมือเฉพาะทางในโลกสมัยใหม่

แล้วรหัสสถานะ 102 Processing คืออะไร?

กล่าวโดยย่อ มันคือสัญญาณจากเซิร์ฟเวอร์ที่บอกว่า:

"ฉันได้รับคำขอของคุณแล้ว และฉันกำลังดำเนินการอยู่ อย่ายอมแพ้!"

มันมีคุณค่าอย่างยิ่งสำหรับคำขอที่ใช้เวลานาน ซึ่งความเงียบอาจทำให้ไคลเอนต์สันนิษฐานว่าเกิดความล้มเหลวได้ แม้ว่าจะไม่เป็นที่นิยมเท่ารหัสอื่นๆ แต่ก็เป็นเครื่องมือที่มีประสิทธิภาพในสถานการณ์ที่เหมาะสม

รหัสสถานะ HTTP 102 Processing เป็นสิ่งที่น่าสนใจที่หลงเหลือมาจากช่วงเวลาหนึ่งในการพัฒนาเว็บ ซึ่งออกแบบมาเพื่อแก้ปัญหาเร่งด่วนในโปรโตคอล WebDAV แม้ว่าส่วนใหญ่จะถูกแทนที่ด้วยรูปแบบ asynchronous ที่ปรับขนาดได้ดีกว่า แต่ก็ยังคงเป็นส่วนที่ถูกต้องและบางครั้งก็มีประโยชน์ของข้อกำหนด HTTP

การทำความเข้าใจ 102 Processing จะช่วยให้คุณเข้าใจลึกซึ้งยิ่งขึ้นถึงความท้าทายของการเขียนโปรแกรมเครือข่ายและวิวัฒนาการของการออกแบบ API มันเน้นย้ำถึงความตึงเครียดอย่างต่อเนื่องระหว่างความเรียบง่ายแบบ synchronous และความสามารถในการปรับขนาดแบบ asynchronous

สำหรับแอปพลิเคชันสมัยใหม่ส่วนใหญ่ รูปแบบ 202 Accepted พร้อมการ polling หรือ webhooks เป็นทางเลือกที่เหนือกว่า แต่การรู้ว่า 102 มีอยู่จะช่วยให้คุณตัดสินใจทางสถาปัตยกรรมได้อย่างมีข้อมูล และเมื่อคุณต้องการทดสอบพฤติกรรม API ที่ใช้เวลานาน ไม่ว่าจะเป็น 102, 202 หรือรหัสสถานะอื่นใด การใช้เครื่องมือที่มีประสิทธิภาพอย่าง Apidog จะช่วยให้คุณควบคุมและมองเห็นได้ตามที่ต้องการ เพื่อให้มั่นใจถึงประสบการณ์ผู้ใช้ที่ราบรื่นและเชื่อถือได้ ไม่ว่าคำขอจะใช้เวลานานแค่ไหน คุณก็สามารถจำลองคำขอ ตรวจสอบการตอบกลับชั่วคราว และดีบัก API ได้อย่างมืออาชีพ

อย่าเพียงแค่อ่านเกี่ยวกับมัน ดาวน์โหลด Apidog ฟรี และเริ่มทดลองได้เลยวันนี้

ปุ่ม

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API