Codurile HTTP (HyperText Transfer Protocol) in mai mult de 600 cuvinte

Codurile HTTP (HyperText Transfer Protocol) sunt răspunsurile standard pe care serverele web le trimit către clienții care solicită resurse, cum ar fi pagini web, imagini, fișiere și altele.

Aceste coduri sunt utilizate pentru a comunica starea unei solicitări între client (de obicei, un browser web) și server.

Codurile HTTP sunt alcătuite din trei cifre și sunt împărțite în cinci clase, în funcție de prima cifră din cod. Fiecare clasă reprezintă un tip de răspuns:

  1. 1xx (Informațional): Serverul a primit solicitarea și procesul continuă.
  2. 2xx (Succes): Solicitarea a fost primită, înțeleasă și acceptată cu succes.
  3. 3xx (Redirecționare): Este necesară o acțiune suplimentară pentru a finaliza solicitarea, de obicei, în cazul în care o resursă a fost mutată temporar sau permanent la o altă adresă URL.
  4. 4xx (Eroare client): Solicitarea conține o sintaxă greșită sau nu poate fi îndeplinită de server.
  5. 5xx (Eroare server): Serverul a eșuat în îndeplinirea unei solicitări aparent valide.

Codurile HTTP ajută la identificarea problemei atunci când ceva nu funcționează în procesul de accesare a unei resurse pe internet, precum și la optimizarea performanțelor și comportamentului aplicațiilor web prin tratarea diferitelor stări de răspuns.

Aceste coduri sunt grupate în 5 clase, în funcție de primul număr din cod:

  1. 1xx (Informațional) – solicitarea a fost primită, iar procesul continuă.
    • 100 Continue
    • 101 Switching Protocols
    • 102 Processing (WebDAV)
    • 103 Early Hints
  2. 2xx (Succes) – solicitarea a fost primită, înțeleasă și acceptată cu succes.
    • 200 OK
    • 201 Created
    • 202 Accepted
    • 203 Non-Authoritative Information
    • 204 No Content
    • 205 Reset Content
    • 206 Partial Content
    • 207 Multi-Status (WebDAV)
    • 208 Already Reported (WebDAV)
    • 226 IM Used
  3. 3xx (Redirecționare) – este necesară o acțiune suplimentară pentru a finaliza solicitarea.
    • 300 Multiple Choices
    • 301 Moved Permanently
    • 302 Found
    • 303 See Other
    • 304 Not Modified
    • 305 Use Proxy
    • 306 (Unused)
    • 307 Temporary Redirect
    • 308 Permanent Redirect
  4. 4xx (Eroare client) – solicitarea conține sintaxă greșită sau nu poate fi îndeplinită.
    • 400 Bad Request
    • 401 Unauthorized
    • 402 Payment Required
    • 403 Forbidden
    • 404 Not Found
    • 405 Method Not Allowed
    • 406 Not Acceptable
    • 407 Proxy Authentication Required
    • 408 Request Timeout
    • 409 Conflict
    • 410 Gone
    • 411 Length Required
    • 412 Precondition Failed
    • 413 Payload Too Large
    • 414 URI Too Long
    • 415 Unsupported Media Type
    • 416 Range Not Satisfiable
    • 417 Expectation Failed
    • 418 I’m a Teapot
    • 421 Misdirected Request
    • 422 Unprocessable Entity (WebDAV)
    • 423 Locked (WebDAV)
    • 424 Failed Dependency (WebDAV)
    • 425 Too Early
    • 426 Upgrade Required
    • 428 Precondition Required
    • 429 Too Many Requests
    • 431 Request Header Fields Too Large
    • 451 Unavailable For Legal Reasons
  5. 5xx (Eroare server) – serverul a eșuat în îndeplinirea unei solicitări aparent valide.
    • 500 Internal Server Error
    • 501 Not Implemented
    • 502 Bad Gateway
    • 503 Service Unavailable
    • 504 Gateway Timeout
    • 505 HTTP Version Not Supported
    • 506 Variant Also Negotiates
    • 507 Insufficient Storage (WebDAV)
    • 508 Loop Detected (WebDAV)
    • 510 Not Extended
    • 511 Network Authentication Required

Rețineți că această listă nu include codurile de stare HTTP specifice unor aplicații sau servicii web personalizate și se bazează pe standardul HTTP/1.1.

Puteți gestiona răspunsurile HTTP atunci când creați sau dezvoltați o aplicație web sau un serviciu. În funcție de limbajul de programare și de platforma pe care o utilizați, există diferite metode pentru a manipula și a trimite răspunsuri HTTP personalizate către clienți.

De exemplu, într-o aplicație web dezvoltată folosind limbajul de programare Python și framework-ul Flask, puteți gestiona răspunsurile HTTP astfel:

from flask import Flask, jsonify, make_response

app = Flask(__name__)

@app.route('/not_found')
def not_found():
    response = make_response(jsonify({'error': 'Not found'}), 404)
    return response

if __name__ == '__main__':
    app.run()

În acest exemplu, am definit un endpoint /not_found, care returnează un răspuns HTTP personalizat cu codul de stare 404 (Not Found) și un mesaj JSON.

Similar, puteți gestiona răspunsurile HTTP în alte limbaje de programare și framework-uri, cum ar fi JavaScript și Node.js cu Express, Ruby și Rails, Java și Spring, și așa mai departe.

Asigurați-vă că studiați documentația platformei și a limbajului de programare ales pentru a învăța cum să manipulați răspunsurile HTTP în mod corespunzător.

 

Scroll to Top