O se osofaʻiga i luma-i-itu-i-i tua faiga e mafai ai ona tatou faʻapipiʻi i talosaga a isi vaega

Faaalia faʻamatalaga o se osofaʻiga fou i luga o nofoaga e faʻaogaina ai se faʻataʻitaʻiga pito i luma-i tua, e pei o loʻo taʻavale i luga o fesoʻotaʻiga tuʻuina atu o mea, paleni uta poʻo sui. O le osofaʻiga e mafai ai, e ala i le tuʻuina atu o nisi o talosaga, e faʻapipiʻi i totonu o mea o loʻo i ai isi talosaga o loʻo faʻatinoina i le filo lava e tasi i le va o le pito i luma ma le pito i tua. O le auala fuafuaina na faʻaaogaina lelei e faʻatulaga ai se osofaʻiga na mafai ai ona faʻalavelaveina faʻamaoniga faʻamaonia o tagata faʻaoga o le PayPal auaunaga, lea na totogi ai tagata suʻesuʻe e tusa ma le 40 afe tala o se vaega o se polokalame e faʻailoa ai le i ai o faʻafitauli e leʻi faʻaogaina. O le osofaʻiga e faʻatatau foi i nofoaga e faʻaaoga ai le fesoʻotaʻiga tuʻuina atu o mea a Akamai.

O le autu o le faʻafitauli o le pito i luma ma tua e masani ona tuʻuina atu tulaga eseese o le lagolago mo le HTTP protocol, ae i le taimi lava e tasi e faʻapipiʻi talosaga mai tagata faʻaoga eseese i se auala masani. Ina ia faʻafesoʻotaʻi le pito i luma o le mauaina o talosaga ma le faʻaogaina o talosaga i tua, ua faʻatuina se fesoʻotaʻiga TCP umi, lea e tuʻuina atu ai talosaga a tagata, faʻasalalau i luga o le filifili le tasi ma le isi, vavaeeseina e ala i le HTTP protocol. Ina ia tuueseese talosaga, o ulutala "Content-Length" (e fuafua ai le aofaʻi atoa o faʻamatalaga i le talosaga) ma le "Fa'aliliu-fa'ailoga: tipi"(fa'atagaina oe e fesiita'i fa'amatalaga i vaega, fa'amaonia poloka o lapopo'a eseese i le faatulagaga "{size}\r\n{block}\r\n{size}\r\n{block}\r\n0").

E tulaʻi mai le faʻafitauli pe a naʻo le pito i luma e lagolagoina le "Content-Length" ae le amanaʻia le "Transfer-Encoding: chunked" (mo se faʻataʻitaʻiga, na faia e Akamai CDN) poʻo le isi itu. Afai o le Transfer-Encoding: chunked e lagolagoina i itu uma e lua, e mafai ona faʻaogaina foliga faʻatinoga o HTTP header parsers mo se osofaʻiga (mo se faʻataʻitaʻiga, pe a le amanaʻia e le pito i luma laina e pei o le "Transfer-Encoding: xchunked", "Transfer-Encoding: chunked ”, “Transfer-Encoding” :[tab]chunked", "X: X[\n]Transfer-encoding: chunked", "Transfer-encoding[\n]: chunked" po o le "Transfer-encoding : chunked", ma o lo'o fa'agasolo lelei e le pito i tua).

I lenei tulaga, e mafai e le tagata osofaʻi ona tuʻuina atu se talosaga e aofia uma ai le "Content-Length" ma le "Transfer-Encoding: chunked" ulutala, ae o le tele i le "Content-Length" e le fetaui ma le tele o le filifili chunk, lea e la'ititi nai lo le tau moni. Afai o le pito i luma e faʻagasolo ma tuʻuina atu le talosaga e tusa ai ma le "Content-Length" ma le pito i tua e faʻatali mo le poloka e faʻamaeʻa e faʻavae i luga o le "Transfer-Encoding: chunked", ona oʻo lea i le faaiuga o faʻamaumauga e faʻavae i luga o le "Transfer-Encoding: chunked" o le a e fuafua muamua ma o le siʻusiʻu o totoe o le talosaga o le a faʻaalia le osofaʻiga i le amataga o le isi talosaga, i.e. o le a mafai e le tagata osofaʻi ona faʻapipiʻi faʻamatalaga faʻamaonia i le amataga o le talosaga a se isi tagata na tuʻuina atu i le isi.

O se osofaʻiga i luma-i-itu-i-i tua faiga e mafai ai ona tatou faʻapipiʻi i talosaga a isi vaega

Ina ia iloa le faʻafitauli i le faʻaogaina o le pito i luma-tuai tua, e mafai ona e lafoina se talosaga e ala i le pito i luma:

POST /e uiga i HTTP/1.1
Talimalo: example.com
Fa'aliliu-fa'ailoga: tipi
Umi o le Aano: 4

1
Z
Q

O lo'o iai le fa'afitauli pe afai e le fa'agasolo vave e le pito i tua le talosaga ma fa'atali mo le taunu'u mai o le poloka fa'ai'u fa'ai'u o fa'amaumauga. Mo se siaki atoatoa saunia se aoga fa'apitoa e su'e ai fo'i auala e mafai ona natia ai le ulutala "Transfer-Encoding: chunked" mai le pito i luma.

O le faia o se osofaʻiga moni e faʻalagolago i le gafatia o le nofoaga osofaʻi, mo se faʻataʻitaʻiga, pe a osofaʻia le Trello web application, e mafai ona e suia le amataga o le talosaga (suia faʻamatalaga e pei o le "PUT / 1 / members / 1234 ... x = x & csrf =1234&username=testzzz&bio=cake”) ma auina atu se fe'au e aofia ai le uluai talosaga a se isi tagata fa'aoga ma le Kuki fa'amaoni o lo'o fa'amaonia i totonu. Mo se osofaʻiga i luga o le saas-app.com, na faʻaalia e mafai ona sui le code JavaScript i le tali e ala i le suitulaga i se tasi o faʻasologa o talosaga. Mo le osofaʻiga i redhat.com, na faʻaaogaina se tagata faʻapipiʻi i totonu e toe faʻafeiloaʻi i luga o le upega tafaʻilagi a le tagata osofaʻi (se talosaga o le fomu "POST /search?dest=../assets/idx?redir=//[imeli puipuia]/ HTTP/1.1").

O le faʻaaogaina o le auala mo fesoʻotaʻiga tuʻuina atu mea na mafai ai ona sui le nofoaga o loʻo talosagaina e ala i le suia o le ulutala "Host:". E mafai fo'i ona fa'aoga le osofa'iga e fa'a'ona ai mea o lo'o i totonu o faiga fa'akomupiuta ma aveese fa'amaumauga fa'alilolilo. O le pito maualuga o le auala o le faʻatulagaina lea o se osofaʻiga i luga o PayPal, lea na mafai ai ona faʻalavelaveina faʻaupuga na lafoina e tagata faʻaoga i le taimi o le faʻamaoni (o le talosaga iframe na suia e faʻatino ai le JavaScript i le tulaga o le paypal.com/us/gifts itulau, mo lea CSP (Content Security Policy) e leʻi faʻaaogaina).

O le mea e malie ai, i le 2005 sa i ai fautuaina ose faiga fa'apena talosaga fa'apena e fa'atagaina ai oe e fa'aleaga fa'amatalaga i fa'ailoga fa'apolopolo (Tomcat, squid, mod_proxy) po'o le fa'aaloa'i puipui puipui e ala i le fa'amaotiina o le tele o talosaga "GET" po'o le "POST" i totonu o le tasi HTTP sauniga.

puna: opennet.ru

Faaopoopo i ai se faamatalaga