Rumah  >  Artikel  >  hujung hadapan web  >  Cara yang betul untuk menetapkan kod status HTTP

Cara yang betul untuk menetapkan kod status HTTP

WBOY
WBOYasal
2024-01-05 08:32:34965semak imbas

Cara yang betul untuk menetapkan kod status HTTP

Cara menetapkan kod status HTTP dengan betul memerlukan contoh kod khusus

Kod status HTTP ialah perwakilan status yang dikembalikan oleh pelayan kepada klien semasa komunikasi rangkaian permintaan. Apabila mereka bentuk dan membangunkan aplikasi web, adalah penting untuk menetapkan kod status HTTP dengan betul. Ia boleh membantu kami mengendalikan permintaan dan respons dengan lebih baik, serta memberikan pengalaman pengguna yang lebih baik. Artikel ini akan memperkenalkan kod status HTTP biasa dan cara menetapkannya dengan betul, sambil memberikan contoh kod.

  1. 1xx Maklumat

Kod status 1xx menunjukkan bahawa pelayan telah menerima permintaan pelanggan tetapi masih memprosesnya. Dalam kebanyakan kes, kod status ini tidak biasa digunakan oleh pembangun.

  1. 2xx Kejayaan

2xx kod status menunjukkan bahawa pelayan berjaya menerima dan memproses permintaan pelanggan. Berikut ialah kod status 2xx yang biasa digunakan dan kegunaannya:

  • 200 OK: Permintaan berjaya. Pelayan berjaya memproses permintaan dan mengembalikan maklumat yang sepadan. Ini biasanya salah satu kod status yang paling biasa.
  • 201 Dibuat: Permintaan itu berjaya dan dibuat. Biasanya digunakan untuk permintaan untuk mencipta sumber, seperti menambah pengguna baharu atau mencipta artikel baharu.

Contoh kod:

@app.route('/users', methods=['POST'])
def create_user():
    # 创建用户逻辑
    # ...
    return jsonify({'message': 'User created'}), 201
  • 204 Tiada Kandungan: Permintaan berjaya tetapi tiada kandungan. Digunakan untuk mengendalikan permintaan yang tidak perlu mengembalikan data tertentu, seperti memadamkan sumber.

Contoh kod:

@app.route('/users/<int:user_id>', methods=['DELETE'])
def delete_user(user_id):
    # 删除用户逻辑
    # ...
    return '', 204
  1. 3xx Redirection class (Redirection)

3xx kod status menunjukkan bahawa operasi selanjutnya daripada pelanggan diperlukan untuk melengkapkan permintaan. Berikut ialah kod status 3xx yang biasa digunakan dan kegunaannya:

  • 301 Dipindah Secara Kekal: Ubah hala kekal. Menunjukkan bahawa sumber yang diminta telah dialihkan ke URL baharu dan harus diakses menggunakan URL baharu.

Contoh kod:

@app.route('/old-url')
def old_url():
    return redirect('/new-url', code=301)
  • 302 Ditemui (atau 307 Ubah Hala Sementara): Ubah hala sementara. Menunjukkan bahawa sumber yang diminta telah dialihkan buat sementara waktu ke URL baharu, tetapi pelanggan masih harus mengekalkan kaedah permintaan asal (GET/POST).

Contoh kod:

@app.route('/old-url')
def old_url():
    return redirect('/new-url', code=302)
  1. 4xx Ralat Pelanggan

4xx Kod status menunjukkan bahawa permintaan pelanggan adalah salah dan pelayan tidak dapat mengendalikannya. Berikut ialah kod status 4xx yang biasa digunakan dan kegunaannya:

  • 400 Permintaan Buruk: Permintaan tidak betul. Biasanya digunakan apabila parameter permintaan tiada atau tidak diformatkan dengan betul.

Contoh kod:

@app.route('/users', methods=['POST'])
def create_user():
    username = request.form.get('username')
    if not username:
        return jsonify({'error': 'Username is required'}), 400
    # ...
    return jsonify({'message': 'User created'}), 201
  • 401 Tanpa kebenaran: Tanpa kebenaran. Menunjukkan bahawa permintaan memerlukan pengesahan, tetapi pelanggan tidak memberikan bukti kelayakan yang sah.

Kod sampel:

@app.route('/admin')
@auth_required
def admin_page():
    # ...
  • 404 Tidak Ditemui: Sumber tidak wujud. Menunjukkan bahawa alamat URL yang diminta tidak mempunyai sumber yang sepadan.

Contoh kod:

@app.route('/users/<int:user_id>')
def get_user(user_id):
    user = User.query.get(user_id)
    if not user:
        return jsonify({'error': 'User not found'}), 404
    return jsonify({
        'id': user.id,
        'username': user.username
    })
  1. 5xx Ralat Pelayan

5xx kod status menunjukkan bahawa ralat berlaku semasa pelayan sedang memproses permintaan. Berikut ialah kod status 5xx yang biasa digunakan dan kegunaannya:

  • 500 Ralat Pelayan Dalaman: Ralat dalaman pelayan. Menunjukkan bahawa ralat tidak diketahui berlaku semasa pelayan sedang memproses permintaan.

Contoh kod:

@app.route('/users')
def get_users():
    try:
        users = User.query.all()
        return jsonify([user.to_dict() for user in users])
    except Exception as e:
        return jsonify({'error': 'Internal Server Error'}), 500

Dengan menetapkan kod status HTTP dengan betul, kami boleh mengendalikan permintaan dan respons dengan lebih baik serta memberikan pengguna pengalaman pengguna yang lebih baik. Dalam pembangunan sebenar, adalah sangat penting untuk memilih kod status HTTP yang sesuai berdasarkan keperluan perniagaan tertentu dan spesifikasi reka bentuk API. Pada masa yang sama, untuk meningkatkan kebolehbacaan dan kebolehselenggaraan kod, adalah disyorkan untuk menggunakan pemalar kod status yang disediakan oleh rangka kerja web dan bukannya menggunakan nombor secara langsung.

Atas ialah kandungan terperinci Cara yang betul untuk menetapkan kod status HTTP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn