How to correctly set the HTTP status code requires specific code examples
HTTP status code is a status representation returned by the server to the client during network communication. It Used to inform the client of the processing status of the current request. When designing and developing web applications, it is particularly important to correctly set the HTTP status code. It can help us better handle requests and responses, and provide users with a better user experience. This article will introduce common HTTP status codes and how to set them correctly, while providing code examples.
1xx status code indicates that the server has received the client's request but is still processing it. In most cases, these status codes are not commonly used by developers.
2xx status code indicates that the server successfully received and processed the client's request. The following are commonly used 2xx status codes and their uses:
Sample code:
@app.route('/users', methods=['POST']) def create_user(): # 创建用户逻辑 # ... return jsonify({'message': 'User created'}), 201
Sample code:
@app.route('/users/<int:user_id>', methods=['DELETE']) def delete_user(user_id): # 删除用户逻辑 # ... return '', 204
3xx status code indicates that further operations from the client are required to complete ask. The following are commonly used 3xx status codes and their uses:
Sample code:
@app.route('/old-url') def old_url(): return redirect('/new-url', code=301)
Sample code:
@app.route('/old-url') def old_url(): return redirect('/new-url', code=302)
4xx status code indicates that the client’s request is incorrect. The server cannot handle it. The following are commonly used 4xx status codes and their uses:
Sample code:
@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
Sample code:
@app.route('/admin') @auth_required def admin_page(): # ...
Sample code:
@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 })
5xx status code indicates that an error occurred while the server was processing the request mistake. The following are commonly used 5xx status codes and their uses:
Sample code:
@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
By correctly setting the HTTP status code, we can better handle requests and responses and provide users with a better user experience. In actual development, it is very important to choose the appropriate HTTP status code based on specific business needs and API design specifications. At the same time, in order to improve the readability and maintainability of the code, it is recommended to use the status code constants provided by the web framework instead of using numbers directly.
The above is the detailed content of Correct way to set HTTP status code. For more information, please follow other related articles on the PHP Chinese website!