Server response 400 Bad Request
รหัสสถานะ HTTP 400 (Bad Request)
รหัสสถานะ HTTP 400 หมายถึงการร้องขอที่ส่งไปยังเซิร์ฟเวอร์มีข้อผิดพลาดในรูปแบบ ซึ่งทำให้เซิร์ฟเวอร์ไม่สามารถประมวลผลได้ สาเหตุของปัญหานี้มีหลายประการ และการเข้าใจปัญหาเหล่านี้จะช่วยให้นักพัฒนาสามารถแก้ไขปัญหาที่เกิดขึ้นได้อย่างมีประสิทธิภาพ
สาเหตุของข้อผิดพลาด 400
- รูปแบบการร้องขอที่ไม่ถูกต้อง
ตัวอย่าง: URL ที่ถูกสร้างขึ้นไม่ถูกต้อง
- ขาดพารามิเตอร์ที่จำเป็น
ตัวอย่าง: ขาดพารามิเตอร์ใน Body ของคำร้องขอ
- ข้อมูลที่ไม่ถูกต้องในพารามิเตอร์
ตัวอย่าง: ส่งสตริงแทนค่าตัวเลข
ตัวอย่างการเกิดข้อผิดพลาด 400
- รูปแบบข้อมูลที่ไม่ถูกต้อง
ตัวอย่าง: ส่งข้อมูลในรูปแบบ JSON โดยไม่มีส่วนหัวที่เหมาะสม
- URL ที่ยาวเกินไป
ตัวอย่าง: ข้อมูลที่ส่งมีความยาวเกินกว่าขีดจำกัดของ URL
- ข้อผิดพลาดในการเข้ารหัส
ตัวอย่าง: การใช้การเข้ารหัสตัวอักษรที่ไม่รองรับ
การแก้ไขข้อผิดพลาด 400 ในภาษาการเขียนโปรแกรมต่าง ๆ
ภาษา | ตัวอย่างโค้ด |
---|---|
JavaScript (Node.js) |
app.post('/api/data', (req, res) => { if (!req.body.name) { return res.status(400).send('ชื่อจำเป็นต้องมี'); } // การประมวลผลคำร้องขอ }); |
Python (Flask) |
from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/api/data', methods=['POST']) def data(): if 'name' not in request.json: return jsonify({'error': 'ชื่อจำเป็นต้องมี'}), 400 # การประมวลผลคำร้องขอ |
PHP |
if (empty($_POST['name'])) { http_response_code(400); echo 'ชื่อจำเป็นต้องมี'; exit; } // การประมวลผลคำร้องขอ |
การตรวจสอบและแก้ไขสาเหตุที่ทำให้เกิดข้อผิดพลาด 400 จะช่วยให้นักพัฒนาสามารถปรับปรุงคุณภาพของแอปพลิเคชันได้ และทำให้การทำงานร่วมกับ API เป็นไปอย่างราบรื่นยิ่งขึ้น
รหัสเพิ่มเติม
รหัส | คำอธิบาย |
---|---|
400.1 | Invalid Destination Header - ส่วนหัวปลายทางในคำขอไม่ถูกต้อง |
400.2 | Invalid Depth Header - ส่วนหัวความลึกไม่ได้รับการจัดรูปแบบอย่างถูกต้อง |
400.3 | Invalid If Header - ส่วนหัว 'If' ไม่ถูกต้อง |
400.4 | Invalid Overwrite Header - ส่วนหัวการเขียนทับไม่ถูกต้อง |
400.5 | Invalid Translate Header - ส่วนหัวการแปลไม่ถูกต้อง |
400.6 | Invalid Request Body - เนื้อหาของคำขอไม่ถูกต้อง |
400.7 | Invalid Content Length - ส่วนหัวความยาวเนื้อหาไม่ถูกต้อง |
400.8 | Invalid Timeout - ส่วนหัวการหมดเวลาประกอบด้วย ค่าที่ไม่ถูกต้อง |
400.9 | โทเค็นล็อกไม่ถูกต้อง - โทเค็นล็อกในคำขอไม่ถูกต้อง |
400.10 | ส่วนหัว X-Forwarded-For (XFF) ไม่ถูกต้อง - ส่วนหัว XFF มีรูปแบบไม่ถูกต้อง |
400.11 | คำขอ WebSocket ไม่ถูกต้อง - คำขอ WebSocket ไม่ถูกต้อง |
400.601 | คำขอไคลเอนต์ไม่ถูกต้อง (ARR) - คำขอไคลเอนต์มีรูปแบบไม่ถูกต้อง |
400.602 | รูปแบบเวลาไม่ถูกต้อง (ARR) - รูปแบบเวลาไม่ถูกต้อง |
400.603 | ข้อผิดพลาดการแยกวิเคราะห์ช่วง (ARR) - ไม่สามารถแยกวิเคราะห์ช่วงได้ |
400.604 | ไคลเอนต์หายไป (ARR) - ไคลเอนต์ได้ตัดการเชื่อมต่อ |
400.605 | จำนวนสูงสุดของ การส่งต่อ (ARR) - จำนวนการส่งต่อสูงสุดได้รับการบรรลุแล้ว |
400.606 | ข้อผิดพลาดการแข่งขันแบบอะซิงโครนัส (ARR) - มีข้อผิดพลาดเนื่องจากการแข่งขันแบบอะซิงโครนัส |