๋ฌธ์ ์ ํต์ฌ์ ํ๋ฐํธ์๋์ ๋ฐฑ์๋๊ฐ ์ข
์ข
HTTP ํ๋กํ ์ฝ์ ๋ํด ์๋ก ๋ค๋ฅธ ์์ค์ ์ง์์ ์ ๊ณตํ์ง๋ง ๋์์ ์ฌ๋ฌ ์ฌ์ฉ์์ ์์ฒญ์ ๊ณตํต ์ฑ๋๋ก ์บก์ํํ๋ค๋ ๊ฒ์
๋๋ค. ์์ฒญ์ ์์ ํ๋ ํ๋ฐํธ์๋์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋ฐฑ์๋๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ํด ์๋ช
์ด ๊ธด TCP ์ฐ๊ฒฐ์ด ์ค์ ๋๋ฉฐ, ์ด๋ฅผ ํตํด ์ฌ์ฉ์ ์์ฒญ์ด HTTP ํ๋กํ ์ฝ์ ํตํด ๋ถ๋ฆฌ๋์ด ์ฒด์ธ์ ๋ฐ๋ผ ์ฐจ๋ก๋ก ์ ์ก๋ฉ๋๋ค. ์์ฒญ์ ๋ถ๋ฆฌํ๊ธฐ ์ํด ํค๋ "Content-Length"(์์ฒญ์ ํฌํจ๋ ๋ฐ์ดํฐ์ ์ ์ฒด ํฌ๊ธฐ ๊ฒฐ์ ) ๋ฐ "
ํ๋ฐํธ์๋๊ฐ "Content-Length"๋ง ์ง์ํ์ง๋ง "Transfer-Encoding: Chunked"(์: Akamai CDN์์ ์ํํจ)๋ฅผ ๋ฌด์ํ๊ฑฐ๋ ๊ทธ ๋ฐ๋์ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. Transfer-Encoding: ์ฒญํฌ๊ฐ ์์ชฝ์์ ์ง์๋๋ ๊ฒฝ์ฐ HTTP ํค๋ ํ์์ ๊ตฌํ ๊ธฐ๋ฅ์ ๊ณต๊ฒฉ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ", "์ ์ก ์ธ์ฝ๋ฉ":[ํญ]์ฒญํฌ", "X: X[\n]์ ์ก ์ธ์ฝ๋ฉ: ์ฒญํฌ", "์ ์ก ์ธ์ฝ๋ฉ[\n]: ์ฒญํฌ" ๋๋ "์ ์ก ์ธ์ฝ๋ฉ: ์ฒญํฌ" ๋ฐ ๋ฐฑ์๋๊ฐ ์ด๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.)
์ด ๊ฒฝ์ฐ ๊ณต๊ฒฉ์๋ "Content-Length" ๋ฐ "Transfer-Encoding: ์ฒญํฌ๋" ํค๋๋ฅผ ๋ชจ๋ ํฌํจํ๋ ์์ฒญ์ ๋ณด๋ผ ์ ์์ง๋ง "Content-Length"์ ํฌ๊ธฐ๋ ์ฒญํฌ๋ ์ฒด์ธ์ ํฌ๊ธฐ์ ์ผ์นํ์ง ์์ต๋๋ค. ์ค์ ๊ฐ๋ณด๋ค ์์ต๋๋ค. ํ๋ฐํธ์๋๊ฐ "Content-Length"์ ๋ฐ๋ผ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ์ ๋ฌํ๊ณ ๋ฐฑ์๋๊ฐ "์ ์ก-์ธ์ฝ๋ฉ: ์ฒญํฌ"๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ธ๋ก์ด ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ๊ฒฝ์ฐ "์ ์ก-์ธ์ฝ๋ฉ: ์ฒญํฌ"๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ฐ์ดํฐ์ ๋์ ๋ ์ผ์ฐ ๊ฒฐ์ ๋๊ณ ์์ฒญ์ ๋๋จธ์ง ๋ถ๋ถ์ ๊ณต๊ฒฉ์๊ฐ ๋ค์ ์์ฒญ์ ์์ ๋ถ๋ถ์ ์๊ฒ ๋ฉ๋๋ค. ๊ณต๊ฒฉ์๋ ๋ค์์ ์ ์ก๋๋ ๋ค๋ฅธ ์ฌ๋์ ์์ฒญ ์์ ๋ถ๋ถ์ ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฒจ๋ถํ ์ ์์ต๋๋ค.
์ฌ์ฉ๋ ํ๋ฐํธ์๋-๋ฐฑ์๋ ์กฐํฉ์ ๋ฌธ์ ๋ฅผ ํ์ธํ๋ ค๋ฉด ํ๋ฐํธ์๋๋ฅผ ํตํด ๋ค์๊ณผ ๊ฐ์ ์์ฒญ์ ๋ณด๋ผ ์ ์์ต๋๋ค.
POST /HTTP/1.1 ์ ๋ณด
ํธ์คํธ: example.com
์ ์ก ์ธ์ฝ๋ฉ: ์ฒญํฌ
์ฝํ
์ธ ๊ธธ์ด : 4
1
Z
Q
๋ฐฑ์๋๊ฐ ์์ฒญ์ ์ฆ์ ์ฒ๋ฆฌํ์ง ์๊ณ ์ฒญํฌ ๋ฐ์ดํฐ์ ์ต์ข
XNUMX ๊ฒฝ๊ณ ๋ธ๋ก์ด ๋์ฐฉํ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ๊ฒฝ์ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ข ๋ ์๋ฒฝํ ์ ๊ฒ์ ์ํด
์ค์ ๊ณต๊ฒฉ ์ํ์ ๊ณต๊ฒฉ๋ฐ๋ ์ฌ์ดํธ์ ๊ธฐ๋ฅ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ์๋ฅผ ๋ค์ด Trello ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณต๊ฒฉํ ๋ ์์ฒญ์ ์์ ๋ถ๋ถ์ ๋ฐ๊ฟ ์ ์์ต๋๋ค("PUT /1/members/1234... x=x&csrf์ ๊ฐ์ ๋ฐ์ดํฐ ๋์ฒด). =1234&username=testzzz&bio=cakeโ) ์ XNUMX์ ์ฌ์ฉ์์ ์๋ ์์ฒญ๊ณผ ์ฌ๊ธฐ์ ์ง์ ๋ ์ธ์ฆ ์ฟ ํค๊ฐ ํฌํจ๋ ๋ฉ์์ง๋ฅผ ๋ณด๋ ๋๋ค. saas-app.com์ ๋ํ ๊ณต๊ฒฉ์ ๊ฒฝ์ฐ ์์ฒญ ๋งค๊ฐ๋ณ์ ์ค ํ๋๋ฅผ ๋์ฒดํ์ฌ ์๋ต์ JavaScript ์ฝ๋๋ฅผ ๋์ฒดํ ์ ์๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. redhat.com์ ๋ํ ๊ณต๊ฒฉ์ ๊ฒฝ์ฐ ๋ด๋ถ ํธ๋ค๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ณต๊ฒฉ์์ ์น ์ฌ์ดํธ("POST /search?dest=../assets/idx?redir=// ํ์์ ์์ฒญ)๋ก ๋ฆฌ๋๋ ์ ํ์ต๋๋ค.[์ด๋ฉ์ผ ๋ณดํธ]/HTTP/1.1").
์ฝํ ์ธ ์ ์ก ๋คํธ์ํฌ๋ฅผ ์ํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด "Host:" ํค๋๋ฅผ ๋์ฒดํ์ฌ ์์ฒญ๋ ์ฌ์ดํธ๋ฅผ ๊ฐ๋จํ๊ฒ ๊ต์ฒดํ ์ ์๊ฒ ๋์์ต๋๋ค. ์ด ๊ณต๊ฒฉ์ ์ฝํ ์ธ ์บ์ฑ ์์คํ ์ ์ฝํ ์ธ ๋ฅผ ์์์ํค๊ณ ์บ์๋ ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ ๋ฐ์๋ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์ ์ ์ PayPal์ ๋ํ ๊ณต๊ฒฉ ์กฐ์ง์ผ๋ก, ์ธ์ฆ ์ค์ ์ฌ์ฉ์๊ฐ ๋ณด๋ธ ๋น๋ฐ๋ฒํธ๋ฅผ ๊ฐ๋ก์ฑ ์ ์์์ต๋๋ค(iframe ์์ฒญ์ paypal.com/us/gifts ํ์ด์ง์ ์ปจํ ์คํธ์์ JavaScript๋ฅผ ์คํํ๋๋ก ์์ ๋์์ต๋๋ค. CSP(์ฝํ ์ธ ๋ณด์ ์ ์ฑ )๊ฐ ์ ์ฉ๋์ง ์์ ๊ฒฝ์ฐ).
ํฅ๋ฏธ๋กญ๊ฒ๋ 2005๋
์๋
์ถ์ฒ : opennet.ru