Junior — Middle
Czy można przesłać plik za pomocą żądania HTTP GET?
sobes.tech AI
Odpowiedź od AI
Przesyłanie pliku za pomocą żądania HTTP GET jest technicznie możliwe, ale jest to wysoce niezalecane i praktycznie nieużywane.
Przyczyny:
- Metoda GET jest przeznaczona do pobierania zasobów, a nie do przesyłania dużych ilości danych.
- W URL (gdzie przekazywane są parametry GET) istnieje ograniczenie długości, zazwyczaj około 2000 znaków.
- Pliki są zazwyczaj zbyt duże, aby zmieściły się w URL.
Poprawny sposób przesyłania pliku to użycie metody POST z multipart/form-data, gdzie plik jest przesyłany w ciele żądania.
Przykład przesyłania pliku przez POST w Pythonie z użyciem requests:
import requests
files = {'file': open('example.txt', 'rb')}
response = requests.post('http://example.com/upload', files=files)
print(response.status_code)
Dlatego do przesyłania plików używaj POST, a nie GET.