ഒരു PDF അല്ലെങ്കിൽ സ്പ്രെഡ്ഷീറ്റ് എന്ന് തോന്നുന്ന ഫയൽ HTTP/1.1 200 OK എന്നതിൽ തുടങ്ങുന്നുവെങ്കിൽ, ഡൗൺലോഡർ യഥാർത്ഥ ഫയലിന് പകരം അസംസ്കൃത പ്രതികരണമാണ് സംരക്ഷിച്ചത്. ഈ രേഖാചിത്ര പ്രതികരണത്തിൽ നാല് ബൈറ്റ് ഉള്ളടക്കം മാത്രമാണുള്ളത്:

HTTP/1.1 200 OK
Transfer-Encoding: chunked

4
DATA
0

ഫയൽ DATA ആണ്. സ്റ്റാറ്റസ് ലൈൻ, ഹെഡറുകൾ, വലിപ്പ സൂചകം, അവസാനിപ്പിക്കുന്ന ഘടന എന്നിവ HTTP-യുടേതാണ്. ഹെഡർ നീളങ്ങൾ വ്യത്യാസപ്പെടുന്നതിനാൽ നിശ്ചിത എണ്ണം ബൈറ്റുകൾ നീക്കം ചെയ്യുന്നത് സുരക്ഷിതമല്ല. ആദ്യ ശൂന്യ വരിക്ക് ശേഷമുള്ള എല്ലാം പകർത്തിയാലും ചങ്ക് ഫ്രെയിമിംഗ് അവശേഷിക്കും, കൂടാതെ വിവരണാത്മക മറുപടികൾ അന്തിമ പ്രതികരണത്തിന് മുമ്പായി വരാം.

സാധാരണ ഡൗൺലോഡിന്, അസംസ്കൃത സോക്കറ്റിൽ നിന്ന് ഫയലിലേക്കുള്ള പകർപ്പ് HTTP ക്ലയന്റിന്റെ പ്രതികരണ-ബോഡി ഇന്റർഫേസ് ഉപയോഗിച്ച് മാറ്റുക. അതിന്റെ പ്രോക്സി കോൺഫിഗർ ചെയ്യുക, അന്തിമ സ്റ്റാറ്റസ് സാധൂകരിക്കുക, എന്നിട്ട് ബോഡി ഒരു താൽക്കാലിക ഔട്ട്പുട്ടിലേക്ക് സ്ട്രീം ചെയ്യുക. സന്ദേശ ഫ്രെയിമിംഗ് ക്ലയന്റ് കൈകാര്യം ചെയ്യുന്നു: നീളം നിർണ്ണയിച്ചതും ചങ്ക് ചെയ്തതും കണക്ഷൻ നിർണ്ണയിച്ചതുമായ ബോഡികൾക്ക് വ്യത്യസ്ത പാഴ്സിംഗ് ആവശ്യമാണ്.

ഉള്ളടക്ക എൻകോഡിംഗ് മറ്റൊരു പാളിയാണ്. ക്ലയന്റിന്റെ രേഖപ്പെടുത്തിയ സ്വഭാവം ഉപയോഗിച്ച്, ഡീകോഡ് ചെയ്ത ഫയൽ ബൈറ്റുകളാണോ വ്യക്തമായി അഭ്യർത്ഥിച്ച അസംസ്കൃത ഉള്ളടക്കമാണോ വേണ്ടതെന്ന് തീരുമാനിക്കുക. കംപ്രസ് ചെയ്ത ബൈറ്റുകൾ സ്വയമേവ പ്രോക്സി കേടുപാടല്ല.

ആപ്ലിക്കേഷൻ സോക്കറ്റ്-തല കോഡ് നിലനിർത്തണമെങ്കിൽ, ആ എല്ലാ പാഴ്സിംഗ് നിയമങ്ങളുടെയും വായന-എഴുത്ത് കൈകാര്യം ചെയ്യലിന്റെയും ഉത്തരവാദിത്തം അതിനാണ്. ബഫറിന്റെ ശേഷിയല്ല, വായന യഥാർത്ഥത്തിൽ തിരികെ നൽകിയ ബൈറ്റുകളുടെ എണ്ണം മാത്രം എഴുതുക, ഭാഗിക എഴുത്തുകൾ കൈകാര്യം ചെയ്യുക. അല്ലാത്തപക്ഷം പഴയ ബഫർ ഉള്ളടക്കം ശരിയായി വേർതിരിച്ചെടുത്ത ബോഡിയെപ്പോലും നശിപ്പിക്കാം.

HTTPS-ന് CONNECT പ്രതികരണം നീക്കം ചെയ്യുന്നതിലും കൂടുതൽ വേണം: ടണൽ വിജയകരമായി സജ്ജീകരിച്ച ശേഷം, ലക്ഷ്യസ്ഥാന TLS സ്ഥാപിച്ച്, അതിനുശേഷം ആന്തരിക HTTP പ്രതികരണം പാഴ്സ് ചെയ്യുക. പ്രോക്സിയുടെ ഹെഡറുകൾക്ക് ശേഷമുള്ള എൻക്രിപ്റ്റ് ചെയ്ത ബൈറ്റുകൾ ഡൗൺലോഡ് ചെയ്യാവുന്ന ഫയലല്ല.

പരാജയപ്പെട്ടതോ അപൂർണ്ണമായതോ ആയ ഔട്ട്പുട്ട് ഒരു താൽക്കാലിക നാമത്തിൽ ഇടുക. കൈമാറ്റവും ഫയൽ പരിശോധനകളും വിജയിച്ചതിനു ശേഷം മാത്രം അത് പ്രസിദ്ധീകരിക്കുക; ശൂന്യമല്ലാത്ത ഫയൽ പൂർണ്ണമായ ഡൗൺലോഡ് തെളിയിക്കുന്നില്ല.

അനുബന്ധ ലേഖനങ്ങൾ