search
HomeWeb Front-endHTML TutorialCorrect way to set HTTP status code

Correct way to set HTTP status code

Jan 05, 2024 am 08:32 AM
http status code settingsCorrect http status codeSet 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
  • 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
  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)
  • 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)
  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
  • 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():
    # ...
  • 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
    })
  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

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
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
HTML vs. CSS vs. JavaScript: A Comparative OverviewHTML vs. CSS vs. JavaScript: A Comparative OverviewApr 16, 2025 am 12:04 AM

The roles of HTML, CSS and JavaScript in web development are: HTML is responsible for content structure, CSS is responsible for style, and JavaScript is responsible for dynamic behavior. 1. HTML defines the web page structure and content through tags to ensure semantics. 2. CSS controls the web page style through selectors and attributes to make it beautiful and easy to read. 3. JavaScript controls web page behavior through scripts to achieve dynamic and interactive functions.

HTML: Is It a Programming Language or Something Else?HTML: Is It a Programming Language or Something Else?Apr 15, 2025 am 12:13 AM

HTMLisnotaprogramminglanguage;itisamarkuplanguage.1)HTMLstructuresandformatswebcontentusingtags.2)ItworkswithCSSforstylingandJavaScriptforinteractivity,enhancingwebdevelopment.

HTML: Building the Structure of Web PagesHTML: Building the Structure of Web PagesApr 14, 2025 am 12:14 AM

HTML is the cornerstone of building web page structure. 1. HTML defines the content structure and semantics, and uses, etc. tags. 2. Provide semantic markers, such as, etc., to improve SEO effect. 3. To realize user interaction through tags, pay attention to form verification. 4. Use advanced elements such as, combined with JavaScript to achieve dynamic effects. 5. Common errors include unclosed labels and unquoted attribute values, and verification tools are required. 6. Optimization strategies include reducing HTTP requests, compressing HTML, using semantic tags, etc.

From Text to Websites: The Power of HTMLFrom Text to Websites: The Power of HTMLApr 13, 2025 am 12:07 AM

HTML is a language used to build web pages, defining web page structure and content through tags and attributes. 1) HTML organizes document structure through tags, such as,. 2) The browser parses HTML to build the DOM and renders the web page. 3) New features of HTML5, such as, enhance multimedia functions. 4) Common errors include unclosed labels and unquoted attribute values. 5) Optimization suggestions include using semantic tags and reducing file size.

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

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

The Role of HTML: Structuring Web ContentThe Role of HTML: Structuring Web ContentApr 11, 2025 am 12:12 AM

The role of HTML is to define the structure and content of a web page through tags and attributes. 1. HTML organizes content through tags such as , making it easy to read and understand. 2. Use semantic tags such as, etc. to enhance accessibility and SEO. 3. Optimizing HTML code can improve web page loading speed and user experience.

HTML and Code: A Closer Look at the TerminologyHTML and Code: A Closer Look at the TerminologyApr 10, 2025 am 09:28 AM

HTMLisaspecifictypeofcodefocusedonstructuringwebcontent,while"code"broadlyincludeslanguageslikeJavaScriptandPythonforfunctionality.1)HTMLdefineswebpagestructureusingtags.2)"Code"encompassesawiderrangeoflanguagesforlogicandinteract

HTML, CSS, and JavaScript: Essential Tools for Web DevelopersHTML, CSS, and JavaScript: Essential Tools for Web DevelopersApr 09, 2025 am 12:12 AM

HTML, CSS and JavaScript are the three pillars of web development. 1. HTML defines the web page structure and uses tags such as, etc. 2. CSS controls the web page style, using selectors and attributes such as color, font-size, etc. 3. JavaScript realizes dynamic effects and interaction, through event monitoring and DOM operations.

See all articles

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

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor