>  기사  >  웹 프론트엔드  >  일반적인 HTTP 상태 코드 안내

일반적인 HTTP 상태 코드 안내

WBOY
WBOY원래의
2024-01-05 16:14:46692검색

일반적인 HTTP 상태 코드 안내

HTTP 상태 코드 설정 가이드

소개:
HTTP(Hypertext Transfer Protocol)는 클라이언트와 서버 간의 요청과 응답을 통해 통신하는 하이퍼텍스트 전송에 사용되는 프로토콜입니다. HTTP 통신 프로세스 중에 서버는 요청 처리 결과를 나타내는 상태 코드를 반환합니다. 정상적인 네트워크 통신을 보장하려면 상태 코드를 올바르게 설정하는 것이 중요합니다. 이 문서에서는 HTTP 상태 코드의 기본 개념을 소개하고 일반적인 시나리오에서 몇 가지 상태 코드 설정 예를 제공합니다.

1. HTTP 상태 코드 분류:
HTTP 상태 코드의 첫 번째 숫자는 5가지 유형의 응답을 나타냅니다.
1xx: 정보용 상태 코드(정보)
2xx: 성공 상태 코드(Successful)
3xx: 리디렉션 상태 코드 (리디렉션)
4xx: 클라이언트 오류 상태 코드(Client Error)
5xx: 서버 오류 상태 코드(Server Error)

2. 일반적인 HTTP 상태 코드 및 의미:

  1. 200 OK: 요청이 성공했습니다. 이 상태 코드는 서버가 요청을 성공적으로 처리하고 요청한 리소스를 반환했음을 나타냅니다.
  2. 301 영구적으로 이동됨: 영구 리디렉션됩니다. 이 상태 코드는 요청된 리소스가 새 URI로 영구적으로 이동되었으며 향후 요청이 새 URI를 사용해야 함을 나타냅니다.
  3. 302개 발견: 임시 리디렉션. 이 상태 코드는 요청된 리소스가 일시적으로 새 URI로 이동되었으며 향후 요청은 원래 URI를 사용해야 함을 나타냅니다.
  4. 400 잘못된 요청: 잘못된 요청입니다. 이 상태 코드는 일반적으로 요청에 잘못된 구문이나 매개변수가 포함되어 있기 때문에 서버가 요청을 이해할 수 없음을 나타냅니다.
  5. 403 금지됨: 접근이 금지됩니다. 이 상태 코드는 서버가 요청을 이해했지만 요청한 리소스에 대한 액세스가 거부되었음을 나타냅니다.
  6. 404 찾을 수 없음: 리소스를 찾을 수 없습니다. 이 상태 코드는 서버가 요청한 리소스를 찾을 수 없음을 나타냅니다.
  7. 500 내부 서버 오류: 서버 내부 오류입니다. 이 상태 코드는 서버에 예기치 않은 오류가 발생하여 요청을 완료할 수 없음을 나타냅니다.

3. HTTP 상태 코드 설정 예:

  1. Return 200 OK:

    @app.route('/')
    def index():
     return 'Hello, World!', 200
  2. Return 301 영구 이동됨:

    @app.route('/old_url')
    def old_url():
     return redirect(url_for('new_url'), code=301)
    
    @app.route('/new_url')
    def new_url():
     return 'This is the new URL', 200
  3. Return 400 잘못된 요청:

    @app.route('/login', methods=['POST'])
    def login():
     if not request.json or 'username' not in request.json:
         abort(400)
     # 其他逻辑处理
     return 'Login successful!', 200
  4. Return 40 3 금지됨:

    @app.route('/admin')
    def admin():
     if not session.get('is_admin'):
         abort(403)
     # 管理员页面的逻辑处理
     return 'Welcome, admin!', 200
  5. Returns 404 Not Found:

    @app.route('/user/<username>')
    def user_profile(username):
     # 根据username查询用户信息
     if not user_exists(username):
         abort(404)
     # 用户信息展示页面的逻辑处理
     return render_template('user_profile.html', username=username)
  6. Returns 500 내부 서버 오류:

    @app.route('/validate')
    def validate():
     # 一些验证逻辑
     try:
         # 验证过程中可能引发的异常
         if not validate_something():
             raise Exception('Validation failed')
     except Exception as e:
         app.logger.error(str(e))
         abort(500)
     # 其他逻辑处理
     return 'Validation completed!', 200

결론:
HTTP 상태 코드를 올바르게 설정하면 서버가 클라이언트와 더 잘 통신하고 요청 처리를 전달할 수 있습니다. 의 결과. 실제 개발에서는 비즈니스 시나리오와 요구 사항을 기반으로 HTTP 상태 코드를 합리적으로 선택하고 설정하면 사용자 경험과 시스템 유지 관리 가능성을 향상시키는 데 도움이 됩니다.

위 내용은 일반적인 HTTP 상태 코드 안내의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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