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.