Sobes.tech
Junior — Middle

შეიძლება ფაილი HTTP GET მოთხოვნით გადაცემა?

sobes.tech AI

პასუხი AI-სგან

HTTP GET მოთხოვნით ფაილის გადაცემა ტექნიკურად შესაძლებელია, მაგრამ ეს ძალიან რეკომენდებული არ არის და პრაქტიკაში თითქმის არ გამოიყენება.

მიზეზები:

  • GET მეთოდი განკუთვნილია რესურსების მიღებისთვის, არა დიდი მოცულობის მონაცემების გადაცემისთვის.
  • URL-ში (სადაც გადაეცემა GET პარამეტრები) არსებობს სიგრძის შეზღუდვა, ჩვეულებრივ დაახლოებით 2000 სიმბოლო.
  • ფაილები ჩვეულებრივ ძალიან დიდია, რომ მოათავსონ URL-ში.

სწორი მეთოდი ფაილის გადაცემისთვის არის POST მეთოდი, რომელიც იყენებს multipart/form-data-ს, სადაც ფაილი გადაეცემა მოთხოვნის სხეულში.

Python-ში requests-ის გამოყენებით POST-ის მაგალითი:

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

ამიტომ, ფაილების გადაცემისთვის გამოიყენეთ POST, არა GET.