Sobes.tech
Junior — Middle

Se poate transmite un fișier printr-o solicitare HTTP GET?

sobes.tech AI

Răspuns de la AI

Transferul unui fișier printr-o solicitare HTTP GET este tehnic posibil, dar este extrem de nerecomandat și practic nu se folosește.

Motivul:

  • Metoda GET este destinată pentru obținerea resurselor, nu pentru transferul unor volume mari de date.
  • În URL (unde sunt transmise parametrii GET) există o limitare a lungimii, de obicei în jur de 2000 de caractere.
  • Fișierele sunt de obicei prea mari pentru a încăpea în URL.

Modul corect de a transfera un fișier este să folosiți metoda POST cu multipart/form-data, unde fișierul este trimis în corpul solicitării.

Exemplu de transfer de fișier prin POST în Python cu requests:

import requests
files = {'file': open('example.txt', 'rb')}
response = requests.post('http://example.com/upload', files=files)
print(response.status_code)

Prin urmare, pentru transferul fișierelor, folosiți POST în loc de GET.