>  기사  >  웹 프론트엔드  >  HTTP 상태 코드를 설정하는 올바른 방법

HTTP 상태 코드를 설정하는 올바른 방법

WBOY
WBOY원래의
2024-01-05 08:32:341101검색

HTTP 상태 코드를 설정하는 올바른 방법

HTTP 상태 코드를 올바르게 설정하려면 특정 코드 예제가 필요합니다.

HTTP 상태 코드는 네트워크 통신 중에 서버가 클라이언트에 반환하는 상태 표현으로 클라이언트에게 현재 처리 상태를 알리는 데 사용됩니다. 요구. 웹 애플리케이션을 디자인하고 개발할 때 HTTP 상태 코드를 올바르게 설정하는 것이 특히 중요합니다. 이는 요청과 응답을 더 잘 처리하고 사용자에게 더 나은 사용자 경험을 제공하는 데 도움이 됩니다. 이 문서에서는 코드 예제를 제공하면서 일반적인 HTTP 상태 코드와 이를 올바르게 설정하는 방법을 소개합니다.

  1. 1xx 정보용

1xx 상태 코드는 서버가 클라이언트의 요청을 받았지만 아직 처리 중임을 나타냅니다. 대부분의 경우 이러한 상태 코드는 개발자가 일반적으로 사용하지 않습니다.

  1. 2xx 성공

2xx 상태 코드는 서버가 클라이언트의 요청을 성공적으로 수신하고 처리했음을 나타냅니다. 다음은 일반적으로 사용되는 2xx 상태 코드와 그 용도입니다.

  • 200 OK: 요청이 성공했습니다. 서버가 요청을 성공적으로 처리하고 해당 정보를 반환했습니다. 이는 일반적으로 가장 일반적인 상태 코드 중 하나입니다.
  • 201 생성됨: 요청이 성공적으로 생성되었습니다. 일반적으로 새 사용자 추가 또는 새 문서 생성과 같은 리소스 생성 요청에 사용됩니다.

샘플 코드:

@app.route('/users', methods=['POST'])
def create_user():
    # 创建用户逻辑
    # ...
    return jsonify({'message': 'User created'}), 201
  • 204 콘텐츠 없음: 요청이 성공했지만 콘텐츠가 없습니다. 리소스 삭제 등 특정 데이터를 반환할 필요가 없는 요청을 처리하는 데 사용됩니다.

샘플 코드:

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

3xx 상태 코드는 요청을 완료하려면 클라이언트의 추가 작업이 필요함을 나타냅니다. 다음은 일반적으로 사용되는 3xx 상태 코드와 그 용도입니다.

  • 301 영구적으로 이동됨: 영구 리디렉션. 요청된 리소스가 새 URL로 이동되었으며 새 URL을 사용하여 액세스해야 함을 나타냅니다.

샘플 코드:

@app.route('/old-url')
def old_url():
    return redirect('/new-url', code=301)
  • 302 발견(또는 307 임시 리디렉션): 임시 리디렉션. 요청된 리소스가 일시적으로 새 URL로 이동되었지만 클라이언트는 원래 요청 방법(GET/POST)을 계속 유지해야 함을 나타냅니다.

샘플 코드:

@app.route('/old-url')
def old_url():
    return redirect('/new-url', code=302)
  1. 4xx 클라이언트 오류

4xx 상태 코드는 클라이언트의 요청이 잘못되어 서버가 이를 처리할 수 없음을 나타냅니다. 다음은 일반적으로 사용되는 4xx 상태 코드와 그 용도입니다.

  • 400 잘못된 요청: 요청이 잘못되었습니다. 일반적으로 요청 매개변수가 누락되었거나 형식이 잘못되었을 때 사용됩니다.

샘플 코드:

@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 무단: 무단. 요청에 인증이 필요하지만 클라이언트가 유효한 자격 증명을 제공하지 않았음을 나타냅니다.

샘플 코드:

@app.route('/admin')
@auth_required
def admin_page():
    # ...
  • 404 찾을 수 없음: 리소스가 존재하지 않습니다. 요청한 URL 주소에 해당 리소스가 없음을 나타냅니다.

샘플 코드:

@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 서버 오류

5xx 상태 코드는 서버가 요청을 처리하는 동안 오류가 발생했음을 나타냅니다. 다음은 일반적으로 사용되는 5xx 상태 코드와 그 용도입니다.

  • 500 내부 서버 오류: 서버 내부 오류입니다. 서버가 요청을 처리하는 동안 알 수 없는 오류가 발생했음을 나타냅니다.

샘플 코드:

@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

HTTP 상태 코드를 올바르게 설정하면 요청과 응답을 더 잘 처리하고 사용자에게 더 나은 사용자 경험을 제공할 수 있습니다. 실제 개발에서는 특정 비즈니스 요구 사항과 API 디자인 사양을 기반으로 적절한 HTTP 상태 코드를 선택하는 것이 매우 중요합니다. 동시에, 코드의 가독성과 유지관리성을 높이기 위해 숫자를 직접 사용하는 대신 웹 프레임워크에서 제공하는 상태 코드 상수를 사용하는 것이 좋습니다.

위 내용은 HTTP 상태 코드를 설정하는 올바른 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

관련 기사

더보기