Տարբերություն PUT և PATCH հարցումների միջև

Ո՞րն է հիմնական տարբերությունը PUT -ի միջեւ եւ PATCH հարցումներ, և ե՞րբ պետք է օգտագործենք մեկը մյուսի վրա:

PUT- ը և PATCH- ը HTTP բայեր են, և նրանք երկուսն էլ վերաբերում են ռեսուրսը թարմացնելուն:



Հիմնական տարբերությունը PUT և PATCH հարցումների միջև

PUT- ի և PATCH- ի հարցումների հիմնական տարբերությունը կայանում է նրանում, որ սերվերը մշակում է փակված մարմինը `Request-URI- ի կողմից հայտնաբերված ռեսուրսը փոփոխելու համար:


Մի PUT -ում հարցում, կցված մարմինը համարվում է ծագման սերվերում պահվող ռեսուրսի փոփոխված տարբերակ, և հաճախորդը պահանջում է փոխարինել պահված տարբերակը:

PATCH - ով, այնուամենայնիվ, կցված մարմինը պարունակում է մի շարք ցուցումներ, որոնք նկարագրում են, թե ինչպես պետք է ներկայումս ծագող սերվերում գտնվող ռեսուրսը փոփոխվի ՝ նոր տարբերակ արտադրելու համար:


Բացի այդ, մեկ այլ տարբերություն այն է, որ երբ ուզում ես ռեսուրսը թարմացնել PUT - ով հարցում, դուք պետք է ուղարկեք ամբողջ ծանրաբեռնվածությունը որպես հարցում, մինչդեռ PATCH - ով դուք ուղարկում եք միայն այն պարամետրերը, որոնք ցանկանում եք թարմացնել:

Առնչվող:

Ենթադրենք, որ մենք ունենք մի ռեսուրս, որը պահում է անձի անուն-ազգանունը:

Եթե ​​ուզում ենք փոխել անունը, ապա մենք ուղարկում ենք PUT թարմացման խնդրանք


{ 'first': 'Michael', 'last': 'Angelo' }

Այստեղ, չնայած մենք միայն անունն ենք փոխում, PUT - ով խնդրանքով մենք պետք է ուղարկենք և՛ պարամետրերը նախ և՛ վերջը: Այլ կերպ ասած, պարտադիր է ուղարկել բոլոր արժեքները նորից ՝ ամբողջ ծանրաբեռնվածությունը:

Երբ մենք ուղարկում ենք PATCH հարցում, այնուամենայնիվ, մենք ուղարկում ենք միայն այն տվյալները, որոնք ցանկանում ենք թարմացնել: Այլ կերպ ասած, մենք միայն անունն ենք ուղարկում թարմացնելու, ազգանունն ուղարկելու կարիք չկա:

Այս պատճառով, PATCH հարցումը պահանջում է ավելի քիչ թողունակություն: