Junior — Middle
Ar galima perduoti failą per HTTP GET užklausą?
sobes.tech AI
Atsakymas iš AI
Failo perdavimas per HTTP GET užklausą techniškai įmanomas, tačiau tai labai nerekomenduojama ir praktiškai nenaudojama.
Priežastys:
- GET metodas skirtas išteklių gavimui, o ne didelių duomenų kiekių perdavimui.
- URL (kur pervedami GET parametrai) turi ilgumo apribojimą, paprastai apie 2000 simbolių.
- Failai dažnai yra per dideli, kad tilptų į URL.
Tinkamas būdas perduoti failą yra naudoti POST metodą su multipart/form-data, kur failas siunčiamas į užklausos kūną.
Pavyzdys, kaip perduoti failą per POST naudojant Python ir requests:
import requests
files = {'file': open('example.txt', 'rb')}
response = requests.post('http://example.com/upload', files=files)
print(response.status_code)
Todėl failų perdavimui naudokite POST, o ne GET.