Nội dung

    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.

    400 - Bad Request

    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

    1. Đị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.
    2. URL quá dài
      • Ví dụ: vượt quá giới hạn độ dài URL khi truyền dữ liệu.
    3. 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ô tả
    400.1Tiêu đề đích không hợp lệ - Tiêu đề đích trong yêu cầu không đúng.
    400.2Tiêu đề độ sâu không hợp lệ - Tiêu đề độ sâu không được định dạng đúng.
    400.3Tiêu đề If không hợp lệ - Tiêu đề 'If' không hợp lệ.
    400.4Tiêu đề ghi đè không hợp lệ - Tiêu đề ghi đè không hợp lệ.
    400.5Tiêu đề dịch không hợp lệ - Tiêu đề dịch không hợp lệ.
    400.6Nộ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.8Hế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.9Mã 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.10Tiêu đề X-Forwarded-For (XFF) không hợp lệ - Tiêu đề XFF không đúng định dạng.
    400.11Yêu cầu WebSocket không hợp lệ - Yêu cầu WebSocket không hợp lệ.
    400.601Yê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.603Lỗ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.604Máy khách đã biến mất (ARR) - Máy khách đã ngắt kết nối.
    400.605Số lượng chuyển tiếp tối đa (ARR) - Đã đạt đến số lượng chuyển tiếp tối đa.
    400.606Lỗi cạnh tranh không đồng bộ (ARR) - Đã có lỗi do cạnh tranh không đồng bộ.