Phản hồi máy chủ 400 Bad Request
Mã trạng thái HTTP 400 (Yêu cầu không hợp lệ)
Mã trạng thái HTTP 400 cho biết rằng máy chủ không thể xử lý yêu cầu do cú pháp không hợp lệ. Điều này có thể xảy ra vì nhiều lý do khác nhau, và việc hiểu rõ những nguyên nhân này sẽ giúp các nhà phát triển giải quyết các vấn đề hiệu quả hơn.
Nguyên nhân gây ra lỗi 400
- Cú pháp yêu cầu không hợp lệ
- Ví dụ: URL được cấu trúc sai.
- Thiếu tham số bắt buộc
- Ví dụ: thiếu tham số trong phần Body của yêu cầu.
- Dữ liệu không hợp lệ trong tham số
- Ví dụ: truyền một chuỗi thay vì giá trị số.
Ví dụ thực tiễn
- Định dạng dữ liệu không hợp lệ
- Ví dụ: gửi dữ liệu ở định dạng JSON mà không có tiêu đề thích hợp.
- URL quá dài
- Ví dụ: vượt quá giới hạn độ dài URL khi truyền dữ liệu.
- Lỗi trong mã hóa
- Ví dụ: sử dụng mã hóa ký tự không được hỗ trợ.
Khắc phục lỗi 400 trên các ngôn ngữ lập trình khác nhau
Ngôn ngữ lập trình | Mã ví dụ | Giải thích |
---|---|---|
JavaScript (Node.js) |
app.post('/api/data', (req, res) => { if (!req.body.name) { return res.status(400).send('Tên là bắt buộc'); } // xử lý yêu cầu }); |
Kiểm tra xem tham số 'name' có tồn tại không trước khi xử lý yêu cầu. |
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': 'Tên là bắt buộc'}), 400 // xử lý yêu cầu |
Kiểm tra xem tham số 'name' có trong dữ liệu JSON không. |
PHP |
if (empty($_POST['name'])) { http_response_code(400); echo 'Tên là bắt buộc'; exit; } // xử lý yêu cầu |
Kiểm tra xem tham số 'name' có rỗng không, nếu có trả về lỗi 400. |
Việc xử lý chính xác và chẩn đoán nguyên nhân gây ra lỗi 400 sẽ giúp các nhà phát triển nâng cao chất lượng ứng dụng của họ và đảm bảo trải nghiệm làm việc với API mượt mà hơn.
Mã bổ sung
Mã | Mô tả |
---|---|
400.1 | Tiêu đề đích không hợp lệ - Tiêu đề đích trong yêu cầu không đúng. |
400.2 | Tiêu đề độ sâu không hợp lệ - Tiêu đề độ sâu không được định dạng đúng. |
400.3 | Tiêu đề If không hợp lệ - Tiêu đề 'If' không hợp lệ. |
400.4 | Tiêu đề ghi đè không hợp lệ - Tiêu đề ghi đè không hợp lệ. |
400.5 | Tiêu đề dịch không hợp lệ - Tiêu đề dịch không hợp lệ. |
400.6 | Nội dung yêu cầu không hợp lệ - Nội dung yêu cầu không đúng. |
400.7 | Độ dài nội dung không hợp lệ - Tiêu đề độ dài nội dung không đúng định dạng. |
400.8 | Hết thời gian không hợp lệ - Tiêu đề hết thời gian chứa giá trị không hợp lệ. |
400.9 | Mã thông báo khóa không hợp lệ - Mã thông báo khóa trong yêu cầu không hợp lệ. |
400.10 | Tiêu đề X-Forwarded-For (XFF) không hợp lệ - Tiêu đề XFF không đúng định dạng. |
400.11 | Yêu cầu WebSocket không hợp lệ - Yêu cầu WebSocket không hợp lệ. |
400.601 | Yêu cầu của máy khách (ARR) không hợp lệ - Yêu cầu của máy khách không đúng định dạng. |
400.602 | Định dạng thời gian không hợp lệ (ARR) - Định dạng thời gian không đúng. |
400.603 | Lỗi phạm vi phân tích cú pháp (ARR) - Không thể phân tích cú pháp phạm vi. |
400.604 | Máy khách đã biến mất (ARR) - Máy khách đã ngắt kết nối. |
400.605 | Số lượng chuyển tiếp tối đa (ARR) - Đã đạt đến số lượng chuyển tiếp tối đa. |
400.606 | Lỗi cạnh tranh không đồng bộ (ARR) - Đã có lỗi do cạnh tranh không đồng bộ. |