Home Web Front-end HTML Tutorial Correct way to set HTTP status code

Correct way to set HTTP status code

Jan 05, 2024 am 08:32 AM
http status code settings Correct http status code Set http status code

Correct way to set HTTP status code

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.

  1. 1xx Informational

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.

  1. 2xx Success class (Success)

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:

  • 200 OK: The request was successful. The server successfully processed the request and returned the corresponding information. This is usually one of the most common status codes.
  • 201 Created: The request was successful and created. Usually used for requests to create resources, such as adding new users or creating new articles.

Sample code:

@app.route('/users', methods=['POST'])
def create_user():
    # 创建用户逻辑
    # ...
    return jsonify({'message': 'User created'}), 201
Copy after login
  • 204 No Content: The request is successful but there is no content. Used to handle requests that do not need to return specific data, such as deleting resources.

Sample code:

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

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:

  • 301 Moved Permanently: Permanent redirection. Indicates that the requested resource has been moved to a new URL and should be accessed using the new URL.

Sample code:

@app.route('/old-url')
def old_url():
    return redirect('/new-url', code=301)
Copy after login
  • 302 Found (or 307 Temporary Redirect): Temporary redirection. Indicates that the requested resource has been temporarily moved to a new URL, but the client should still maintain the original request method (GET/POST).

Sample code:

@app.route('/old-url')
def old_url():
    return redirect('/new-url', code=302)
Copy after login
  1. 4xx Client Error Class (Client Error)

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:

  • 400 Bad Request: The request is incorrect. Usually used when request parameters are missing or formatted incorrectly.

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
Copy after login
  • 401 Unauthorized: Unauthorized. Indicates that the request requires authentication, but the client did not provide valid credentials.

Sample code:

@app.route('/admin')
@auth_required
def admin_page():
    # ...
Copy after login
  • 404 Not Found: The resource does not exist. Indicates that the requested URL address does not have a corresponding resource.

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
    })
Copy after login
  1. 5xx Server Error Class (Server Error)

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:

  • 500 Internal Server Error: Server internal error. Indicates that an unknown error occurred while the server was processing the request.

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
Copy after login

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!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What is the purpose of the <progress> element? What is the purpose of the <progress> element? Mar 21, 2025 pm 12:34 PM

The article discusses the HTML &lt;progress&gt; element, its purpose, styling, and differences from the &lt;meter&gt; element. The main focus is on using &lt;progress&gt; for task completion and &lt;meter&gt; for stati

Is HTML easy to learn for beginners? Is HTML easy to learn for beginners? Apr 07, 2025 am 12:11 AM

HTML is suitable for beginners because it is simple and easy to learn and can quickly see results. 1) The learning curve of HTML is smooth and easy to get started. 2) Just master the basic tags to start creating web pages. 3) High flexibility and can be used in combination with CSS and JavaScript. 4) Rich learning resources and modern tools support the learning process.

What is the purpose of the <datalist> element? What is the purpose of the <datalist> element? Mar 21, 2025 pm 12:33 PM

The article discusses the HTML &lt;datalist&gt; element, which enhances forms by providing autocomplete suggestions, improving user experience and reducing errors.Character count: 159

What is the viewport meta tag? Why is it important for responsive design? What is the viewport meta tag? Why is it important for responsive design? Mar 20, 2025 pm 05:56 PM

The article discusses the viewport meta tag, essential for responsive web design on mobile devices. It explains how proper use ensures optimal content scaling and user interaction, while misuse can lead to design and accessibility issues.

What is the purpose of the <iframe> tag? What are the security considerations when using it? What is the purpose of the <iframe> tag? What are the security considerations when using it? Mar 20, 2025 pm 06:05 PM

The article discusses the &lt;iframe&gt; tag's purpose in embedding external content into webpages, its common uses, security risks, and alternatives like object tags and APIs.

The Roles of HTML, CSS, and JavaScript: Core Responsibilities The Roles of HTML, CSS, and JavaScript: Core Responsibilities Apr 08, 2025 pm 07:05 PM

HTML defines the web structure, CSS is responsible for style and layout, and JavaScript gives dynamic interaction. The three perform their duties in web development and jointly build a colorful website.

What is the purpose of the <meter> element? What is the purpose of the <meter> element? Mar 21, 2025 pm 12:35 PM

The article discusses the HTML &lt;meter&gt; element, used for displaying scalar or fractional values within a range, and its common applications in web development. It differentiates &lt;meter&gt; from &lt;progress&gt; and ex

Understanding HTML, CSS, and JavaScript: A Beginner's Guide Understanding HTML, CSS, and JavaScript: A Beginner's Guide Apr 12, 2025 am 12:02 AM

WebdevelopmentreliesonHTML,CSS,andJavaScript:1)HTMLstructurescontent,2)CSSstylesit,and3)JavaScriptaddsinteractivity,formingthebasisofmodernwebexperiences.

See all articles