HTTP HEAD алтернатива

Исках да направя проверка на съществуването, преди действително да ПОЛУЧА артикул, и планирах да използвам HEAD заявка. Но моят сървър има проблеми с HEAD заявки.

Връща грешка 403 за нови елементи. Трябва да направя заявка GET, преди да направя заявка HEAD за нови елементи, или моята заявка HEAD постоянно връща 403.

Не мога да променя нищо относно моя сървър. Какви алтернативи имам? Наистина не искам да изтегля елементите, за да направя проверка за съществуване (елементите са изображения).


person user9910093    schedule 26.06.2018    source източник
comment
Възможен дубликат на заявка HEAD получава 403 забранено, докато GET 200 е добре?   -  person Capricorn    schedule 27.06.2018
comment
Исках да направя проверка за съществуване, преди наистина да ПОЛУЧА артикул... Ако все пак ще получите артикула, както се подразбира от before, тогава защо го прави значение?   -  person Michael - sqlbot    schedule 27.06.2018
comment
Ако HEAD не работи надеждно за вас, опитайте да използвате GET със заглавка Range, за да поискате само 1-вия байт от файла. Ако кодът на отговор е 200, тогава диапазоните не се поддържат в този файл и вие получавате целия файл (в този случай просто затворете връзката веднага щом откриете кода на отговор). Ако кодът на отговор е 206, диапазонът е приет и получавате само първия байт, изпратен до вас.   -  person Remy Lebeau    schedule 27.06.2018
comment
Лошият ми Майкъл, това беше печатна грешка. Нямам намерение да правя GET заявка. Ще опитам решението на Реми.   -  person user9910093    schedule 27.06.2018


Отговори (1)


HTTP диапазони могат да бъдат опция, например използване на curl за получаване на първите 200 байта :

curl -r 0-199 http://example.com
person nbari    schedule 29.06.2018
comment
Това принуждава cloudfront да изтегли целия файл от първоначалния сървър. Не мога да си позволя толкова много забавяне. - person user9910093; 03.07.2018