HTTP ଅପଲୋଡ୍ ବିରତି ଏବଂ Expect: 100-continue
Expect: 100-continue ବିନିମୟକୁ ଚିହ୍ନଟ କରନ୍ତୁ ଏବଂ ଏହାର ସଂକ୍ଷିପ୍ତ ନିର୍ଣ୍ଣୟ ବିନ୍ଦୁକୁ ତଥ୍ୟ ସ୍ଥାନାନ୍ତର ସମୟରେ ଅଟକିଯାଇଥିବା ଅପଲୋଡ୍ ଠାରୁ ଅଲଗା କରନ୍ତୁ।
ସଂଯୋଗ ଖୋଲିଯାଏ। ଅନୁରୋଧ ହେଡରଗୁଡ଼ିକ ବାହାରକୁ ଯାଏ। ଫାଇଲ ଗତି କରୁନଥିବା ପରି ଦେଖାଯାଏ। ଏକ ବ୍ୟାଖ୍ୟା ହେଉଛି କ୍ଲାଏଣ୍ଟ ତାହାର ବଡି ପଠାଇବା ପୂର୍ବରୁ Expect: 100-continue ପାଇଁ ପ୍ରତିକ୍ରିୟା ଅପେକ୍ଷା କରୁଛି।
ଏହି ଯନ୍ତ୍ରକୌଶଳ ଗ୍ରହୀତାକୁ ସମ୍ଭାବ୍ୟ ବଡ଼ ଅପଲୋଡ୍ ପଠାଯିବା ପୂର୍ବରୁ ଏହାର ହେଡରରୁ ଅନୁରୋଧକୁ ପ୍ରତ୍ୟାଖ୍ୟାନ କରିବାକୁ ଅନୁମତି ଦିଏ। ସାଧାରଣ ସଫଳ କ୍ରମ ହେଉଛି:
request headers → 100 Continue → request body → final response
100 ସୂଚନାମୂଳକ: ଏହା କ୍ଲାଏଣ୍ଟକୁ ଆଗେଇ ଯିବାକୁ ଅନୁମତି ଦିଏ, କିନ୍ତୁ ଫାଇଲ ସଂରକ୍ଷିତ ହୋଇଛି କିମ୍ବା ଆପ୍ଲିକେସନ୍ କାର୍ଯ୍ୟ ସଫଳ ହୋଇଛି ବୋଲି ଅର୍ଥ ନୁହେଁ। HTTP 417 ଫେରାଉଥିବା Git push ଏହାର ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ପ୍ରତ୍ୟାଶା-ବିଫଳତା ଉଦାହରଣ।
କ୍ଲାଏଣ୍ଟ କେଉଁ ପ୍ରତିକ୍ରିୟା ପାଇଲା ଖୋଜି ବାହାର କରନ୍ତୁ
| ପର୍ଯ୍ୟବେକ୍ଷଣ | କଣ ଅନୁସନ୍ଧାନ କରିବେ |
|---|---|
| 100 Continue | କ୍ଲାଏଣ୍ଟ ବଡି ସହିତ ଆଗେଇ ପାରିବ |
| ବଡି ପୂର୍ବରୁ ଚୂଡ଼ାନ୍ତ ପ୍ରତ୍ୟାଖ୍ୟାନ | କାର୍ଯ୍ୟ ହେଡର ପର୍ଯ୍ୟାୟରେ ପ୍ରତ୍ୟାଖ୍ୟାତ ହେଲା |
| ପ୍ରତ୍ୟାଶିତ ମଧ୍ୟବର୍ତ୍ତୀ ପ୍ରତିକ୍ରିୟା ନାହିଁ | କ୍ଲାଏଣ୍ଟର ଅପେକ୍ଷା ନୀତି ଏବଂ ସେହି ପଥରେ ପରିଚାଳନା |
curl ରେ expect-continue ଅପେକ୍ଷା ପାଇଁ ଏକ ଅଲଗା ସେଟିଂ ଅଛି। ଯଦି ସେହି libcurl ଅପେକ୍ଷା ପ୍ରତ୍ୟାଶିତ ପ୍ରତିକ୍ରିୟା ବିନା ସମାପ୍ତ ହୁଏ, ଏହା ବଡିକୁ ଯେକୌଣସି ପ୍ରକାରେ ପଠାଏ; ସମାପ୍ତି ଆପେ ଆପେ ସମ୍ପୂର୍ଣ୍ଣ ସ୍ଥାନାନ୍ତରର ବିଫଳତା ନୁହେଁ। ଏହି ସେଟିଂ ସମ୍ପୂର୍ଣ୍ଣ ସ୍ଥାନାନ୍ତର ପାଇଁ ଅନୁମତି ଦିଆଯାଇଥିବା ସମୟଠାରୁ ଅଲଗା। ପରବର୍ତ୍ତୀଟି ବଢାଇଲେ ସେହି ପ୍ରାରମ୍ଭିକ ବିରତି ଅବ୍ୟାଖ୍ୟାତ ରହିପାରେ।
କେଉଁ HTTP ବାର୍ତ୍ତାଳାପ Expect ବହନ କରୁଛି ତାହା ମଧ୍ୟ ଚିହ୍ନଟ କରନ୍ତୁ। HTTPS ଗନ୍ତବ୍ୟକୁ ସାଧାରଣ CONNECT ସହିତ, ୱେବସାଇଟର ଅପଲୋଡ୍ ବିନିମୟ TLS ଭିତରେ ଥାଏ; ଫରୱାର୍ଡ ପ୍ରକ୍ସି ଏହାର ଆଭ୍ୟନ୍ତରୀଣ ପ୍ରତ୍ୟାଶା ହେଡରକୁ ସିଧାସଳଖ ଯାଞ୍ଚ କରେ ନାହିଁ। ଅବରୋଧ କିମ୍ବା ସାଧା ପାଠ ଫରୱାର୍ଡିଂ ପଥ ଅଲଗା।
ପ୍ରତ୍ୟାଶା ହଟାଇବା ଏକ ଉଦ୍ଦେଶ୍ୟପୂର୍ଣ୍ଣ ସୁସଙ୍ଗତତା ଚୟନ ହୋଇପାରେ, କିନ୍ତୁ ଏହାର ଅର୍ଥ କ୍ଲାଏଣ୍ଟ ଶୀଘ୍ର ପ୍ରତ୍ୟାଖ୍ୟାନ ବିଷୟରେ ଜାଣିବା ପୂର୍ବରୁ ଏକ ବଡ଼ ବଡି ପଠାଇବା ଆରମ୍ଭ କରିପାରେ। ସେହି ଆଚରଣକୁ ପ୍ରକୃତ ଆବଶ୍ୟକତା ସହିତ ତୁଳନା କରନ୍ତୁ। ପୁରୁଣା ପ୍ରକ୍ସି ପାଇଁ ଏକ ଐତିହାସିକ ସମାଧାନକୁ ପ୍ରତ୍ୟେକ ଅପଲୋଡରୁ ହେଡର ହଟାଇବା ପାଇଁ ସର୍ବଭୌମ ନିର୍ଦ୍ଦେଶ ଭାବରେ ବର୍ଣ୍ଣନା କରନ୍ତୁ ନାହିଁ।