Bidh am proxy aghaidh a' leughadh loidhne an iarrtais agus na bannan-cinn, gam cur air adhart, agus an uairsin a' feitheamh ann an select ri corp POST. Tha an cliant air a chur mar-thà. Tha coltas gu bheil an dà thaobh a' feitheamh ri chèile.

Le BaseHTTPRequestHandler Python, bidh leughadh nam bannan-cinn a' dol tro rfile, sruth a-steach bufaireach. Faodaidh an sruth sin leughadh air adhart agus baidean a bhuineas don chorp a chumail. Chan eil feitheamh air an t-socaid bunailtich a' faighneachd ach a bheil an tuairisgeulaiche fhaidhle aige deiseil; chan eil e a' faighneachd a bheil dàta feumail mar-thà anns an t-sruth Python.

Lean am bufar a leugh na bannan-cinn

Leugh an corp tro self.rfile cuideachd. Na h-atharraich gu self.connection.recv às dèidh na bannan-cinn a pharsadh leis an t-sruth bhu faireach. Mur a dèan thu sin, faodaidh an còd baidean a tha an sruth sin a' cumail a sheachnadh agus feitheamh ri dàta nach tèid a chur a-chaoidh tuilleadh.

Chan eil toirt rfile fhèin gu select a' toirt air select sgrùdadh a dhèanamh air a bhu far Python. Bidh an API deiseil ag obair tro thuairisgeulaiche fhaidhle an nì.

Airson iarrtas le aon Content-Length dligheach agus gun Transfer-Encoding, ith dìreach an àireamh baidean a chaidh ainmeachadh, a' làimhseachadh crìoch ro-luath na cur-a-steach agus do chrìochan meud is ùine. Na leugh gu EOF: faodaidh cliant le ceangal maireannach an ceangal fhàgail fosgailte às dèidh an t-iarrtas a chrìochnachadh.

Dèan frèamadh na phàirt fhollaiseach den proxy

Feumaidh cuirp iarrtais chunked taic frèamaidh chunked. Chan urrainnear an leughadh le bhith a' coimhead airson Content-Length a tha a dhìth. Feumaidh meata-dàta fad dà-sheaghach slighe diùltadh mìneachail, an àite an ceann-bhann as goireasaiche a thaghadh.

Faodaidh làimhsiche blocaidh cumail air a' chomh-aodann sruth a chleachdadh le leughaidhean cuingealaichte. Feumaidh proxy air a stiùireadh le tachartasan modal bufair a tha ag amalachadh ro-leughadh a' pharsair ri làimhseachadh deiseil. Cha dèan atharrachadh ùine-fuirich rèiteachadh eadar dà neach-cleachdaidh neo-eisimeileach den aon socaid.

Tha am breithneachadh seo sònraichte dhan àite far a bheil na baidean a-staigh air an cumail. Aon uair 's gu bheil am proxy air a' chorp cheart ithe, feumaidh e fhathast an corp sin a chur air adhart le frèamadh HTTP cunbhalach. Tha an làimhsiche àbhaisteach http.server na àite feumail airson an uidheamachd a thuigsinn, ach chan eil e na bhuileachadh proxy aghaidh cinneasachaidh.

Artaigilean co-cheangailte