Dev. Playground ๐
/
Seminar
/
HTTP
/
Presentation
Search
Presentation
๊ฐค๋ฌ๋ฆฌ ๋ณด๊ธฐ
List
Search
HTTP( Hypertext Transfer Protocol )
โข
ํ์ดํผํ ์คํธ๋ฅผ ์ฌ์ฉํ ์ ์ก ํต์ ๊ท์ฝ โ ์ฝ์
HTTP : The Internet's Multimedia Courier
โข
์ด๋ฏธ์ง, HTML, ํ ์คํธ, ๋์์, ์์, ์๋ฐ ์ ํ๋ฆฟ...
โข
๋ฐ์ดํฐ๋ฅผ ์จ์ ํ๊ฒ ์ ์กํ ์ ์๋ ํต์ ๊ท์ฝ
Web Clients and Servers
โข
ํด๋ผ์ด์ธํธ (
์์ฒญ : Request
)
์๋ฒ (
์๋ต :Response
)
โข
๋ธ๋ผ์ฐ์ ( ํฌ๋กฌ, ์ฃ์ง, ์ฌํ๋ฆฌ ... ) : ์ฃผ์, ๊ฒ์, ํด๋ฆญ โ ๋ฌด์ธ๊ฐ ํ์๊ฐ ๋๋ค!
Resources
Web servers
host
resources
โข
์๋ฒ๊ฐ ๋ณด์ ํ๊ณ ์๋ ๋ค์ํ ํํ์
์ ์ ์ธ ํ์ผ
์ ์ ๊ณต
โฆ
์ ์ฒ ํธ ์ฝ๋ฉํธ ์์ฑ
1์ฅ HTTP ๊ฐ๊ด
์์ํ๋ฉฐ
์ธํฐ๋ท์ ๋ณผ๋งํ ์ฅ์์ ํ ๊ฒ์ด ๋ง์ ๊ฑฐ๋ํ ๋์๋ผ๊ณ ์๊ฐํด๋ณด์.
๋ฐ๋ฌผ๊ด, ๋ ์คํ ๋, ์ฌ๋๋ค์ ์ง์ ์ค๋ช ํ๊ธฐ ์ํด ๊ธธ๊ฑฐ๋ฆฌ ์ฃผ์๋ฅผ ์ฌ์ฉํ๊ณ ์๋ฐฉ์, ์ฌ์ฅ์ ๋น์, ๊ฐ์กฑ์๊ฒ ์ฐ๋ฝํ๊ธฐ ์ํด ์ ํ๋ฒํธ๋ฅผ ์ฌ์ฉํ๋ค.
์ฑ ์ ISBN ๋ฒํธ๋ฅผ, ๋ฒ์ค๋ ๋ ธ์ ๋ฒํธ๋ฅผ, ์ํ ๊ณ์ข๋ ๊ณ์ข๋ฒํธ๋ฅผ, ์ฌ๋์ ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ๋ฅผ ๊ฐ์ง๋ค.
๋ชจ๋๊ฐ ์ด๋ ๊ฒ ๊ฐ๊ธฐ ๋ค๋ฅธ ์ด๋ฆ๋ค์ ๋ํ ์๋ช ํ์ค์ ๋์ํ๊ธฐ ๋๋ฌธ์, ๋์์ ์๋ ์์คํ ๋ฆฌ์์ค๋ฅผ ๋ชจ๋ ์ฝ๊ฒ ๊ณต์ ํ ์ ์๋ค.
๋ฆฌ์์ค๋ ํ ์คํธ, ์ด๋ฏธ์ง, ๋์์ ๊ฐ์ด ์น์์ ์ฌ์ฉ๋๋ ์๋ณํ ์ ์๋ ๋ชจ๋ ์์์ ๊ฐ๋ฆฌํจ๋ค.
URL(Uniform Resource Locator)
์ ์ธํฐ๋ท์ ๋ฆฌ์์ค๋ฅผ ๊ฐ๋ฆฌํค๋ ํ์ค์ด๋ฆ์ด๋ค. URL์ ์ ์์ ๋ณด ์ผ๋ถ๋ฅผ ๊ฐ๋ฆฌํค๊ณ ๊ทธ๊ฒ์ด ์ด๋์ ์๊ณ ์ด๋ป๊ฒ ์ ๊ทผํ ์ ์๋์ง ์๋ ค์ค๋ค.
์ด ์ฅ์์ ๋ค๋ฃฐ ๊ฒ๋ค
โข
URL ๋ฌธ๋ฒ, ์ฌ๋ฌ URL ์ปดํฌ๋ํธ๊ฐ ์ด๋ค ์๋ฏธ๋ฅผ ๊ฐ์ง๋ฉฐ ๋ฌด์์ ์ํํ๋์ง.
โข
์ฌ๋ฌ ์น ํด๋ผ์ด์ธํธ๊ฐ ์ง์ํ๋ ์๋ URL๊ณผ ํ์ฅ URL ๊ฐ์ ๋จ์ถ URL์ ๋ํด์.
โข
URL์ ์ธ์ฝ๋ฉ๊ณผ ๋ฌธ์ ๊ท์น.
โข
์ฌ๋ฌ ์ธํฐ๋ท ์ ๋ณด ์์คํ ์ ์ ์ฉ๋๋ ๊ณตํต URL ์คํด.
โข
๊ธฐ์กด ์ด๋ฆ์ ์ ์งํ๋ฉด์ ๊ฐ์ฒด๋ค์ ๋ค๋ฅธ ์ฅ์๋ก ์ฎ๊ธฐ๋ ๊ฒ์ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋
URN(Uniform Resoutce Name)
์ ํฌํจํ URL์ ๋ฏธ๋.
2์ฅ URL๊ณผ ๋ฆฌ์์ค
โข
If
HTTP is the Internet's courier
, HTTP
messages are the pacakages
it uses to move things around.
โข
This chapter tells you about HTTP messages โ how to ceate them and how to understand them.
โข
In prticular, you'll understand:
โฆ
How messages flow
โฆ
The three parts of HTTP messages (start line, headers, and entity body)
โฆ
The difference between request and response messages
โฆ
The various functions (methods) that request messages support
โฆ
The various status codes that are returned with response messages
โฆ
What the various HTTP headers do
1. The Flow of Messages
โข
HTTP messages are the blocks of data sent between HTTP application.
โข
These blocks of data begin with some text
meta-information
decribing the message contents and meaning, followed by
optional data
.
โข
The terms "inbound", "outbound", "upstream", and "downstream" describe message direction.
1.1. Messages Commute Inbound to the Origin Server
โข
HTTP uses the terms
inbound
and
outbound
to describe
transactional
direction.
โข
Messages
travel inbound to the origin server
, and when their work is done, they
travel outbound back to the user agent.
Figure 3-1. Messages travel inbound to the origin server and outbound back to the client
1.2. Messages Flow Downstream
โข
All message flow downstream, regardless of whether they are request messages or responses message
.
3์ฅ HTTP ๋ฉ์์ง
TCP ์ปค๋ฅ์
โข
HTTP๋ ํจํท ๊ตํ ๋คํธ์ํฌ ํ๋กํ ์ฝ์ ๊ณ์ธตํ๋ ์งํฉ์ธ TCP/IP๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋ค.
โข
๋ฉ์์ง๊ฐ ์์ค, ์์๋๊ฑฐ๋ ์์๊ฐ ๋ฐ๋์ง ์๊ณ ์์ ํ๊ฒ ์ ๋ฌ๋๋ค.
โข
์ฃผ์ ์ ๋ ฅ โ TCP ์ปค๋ฅ์ ์์ฑ โ ์์ฒญ โ ์๋ต โ TCP ์ปค๋ฅ์ ํด์ .
์ ๋ขฐํ ์ ์๋ ๋ฐ์ดํฐ ์ ์กํต๋ก์ธ TCP
โข
TCP ์ปค๋ฅ์ ์ ์ธํฐ๋ท์ ์์ ์ ์ผ๋ก ์ฐ๊ฒฐํด์ค๋ค.
โข
TCP ์ปค๋ฅ์ ์ ํตํด ํ ๋ฐ์ดํธ์ฉ ์์๋๋ก ์ ๋ฌ๋๋ค.
TCP ์คํธ๋ฆผ์ ์ธ๊ทธ๋จผํธ๋ก ๋๋์ด IP ํจํท์ ํตํด ์ ์ก๋๋ค
โข
HTTP๋ 'ํ๋กํ ์ฝ ์คํ'์ ์ต์์ ๊ณ์ธต์ด๋ค.
โข
HTTP + TLS(SSL) โ HTTPS
โข
TCP๋ ์ธ๊ทธ๋จผํธ ๋จ์๋ก ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ์๊ฒ ๋๋๊ณ , IP ํจํท์ ๋ด์์ ์ ๋ฌํ๋ค.
4์ฅ ์ปค๋ฅ์ ๊ด๋ฆฌ
์์ํ๋ฉฐ
์น ์๋ฒ๋ ๋งค์ผ ์์ญ์ต ๊ฐ์ ์นํ์ด์ง๋ฅผ ์์ ๋ธ๋ค. ์น ์๋ฒ๋ ์ฐ๋ฆฌ์๊ฒ ๋ ์จ๋ฅผ ์๋ ค์ฃผ๊ณ , ์จ๋ผ์ธ ์ผํ ์นดํธ์ ๋ฌผ๊ฑด์ ์ฃ๊ณ , ์ค๋ซ๋์ ๋ง๋์ง ๋ชปํ ๊ณ ๋ฑํ๊ต ์น๊ตฌ๋ฅผ ์ฐพ์ ์ ์๊ฒ ํด์ค๋ค. ์น ์๋ฒ๋ ์๋ ์์ด๋ ์น(WWW)์ ์ผ๊พผ์ด๋ค.
์ด ์ฅ์์ ๋ค๋ฃฐ ๊ฒ๋ค
โข
์ฌ๋ฌ ์ข ๋ฅ์ ์ํํธ์จ์ด ๋ฐ ํ๋์จ์ด ์น ์๋ฒ์ ๋ํด ์กฐ์ฌํ๋ค.
โข
HTTP ํต์ ์ ์ง๋จํด์ฃผ๋ ๊ฐ๋จํ ์น ์๋ฒ๋ฅผ ํ(Perl)๋ก ์์ฑํด๋ณธ๋ค. โ ์๋ต
โข
์ด๋ป๊ฒ ์น ์๋ฒ๊ฐ HTTP ํธ๋์ญ์ ์ ์ฒ๋ฆฌํ๋์ง ๋จ๊ณ๋ณ๋ก ์ค๋ช ํ๋ค. โ ๊ฐ์ฅ ์ค์
5.1 ๋ค์ฑ๋ก์ด ์น ์๋ฒ
์น ์๋ฒ๋ผ๋ ์ฉ์ด๋ ์น ์๋ฒ ์ํํธ์จ์ด์ ์นํ์ด์ง ์ ๊ณต์ ํนํ๋ ์ฅ๋น(์ปดํจํฐ์ ๊ฐ์) ์์ชฝ ๋ชจ๋๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
๋ชจ๋ ์น ์๋ฒ๋ ๋ฆฌ์์ค์ ๋ํ HTTP ์์ฒญ์ ๋ฐ์์ ์ฝํ ์ธ ๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ๋๋ ค ์ค๋ค.
5.1.1 ์น ์๋ฒ ๊ตฌํ
์น ์๋ฒ๋ HTTP ๋ฐ ๊ทธ์ ๊ด๋ จ๋ TCP ์ฒ๋ฆฌ๋ฅผ ๊ตฌํํ ๊ฒ์ด๋ค. ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌํ๊ณ ์น ์๋ฒ๋ฅผ ์ค์ , ํต์ , ํ์ฅํ๊ธฐ ์ํ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
์น ์๋ฒ๋ HTTP ํ๋กํ ์ฝ์ ๊ตฌํํ๊ณ , ์น ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌํ๊ณ , ์น ์๋ฒ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
5์ฅ ์น ์๋ฒ
โข
์น ํ๋ก์ ์๋ฒ๋
์ค๊ฐ์(intermediaries)
์ด๋ฉฐ, ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์ ์์นํ์ฌ ๊ทธ๋ค ์ฌ์ด์ ๋ฉ์์ง๋ฅผ ์ ๋ฆฌํ๋ ์ค๊ฐ์ธ์ฒ๋ผ ๋์ํ๋ค.
โข
์ด ์ฅ์์๋ ์๋์ ๊ฐ์ ๋ด์ฉ์ ๋ค๋ฃฌ๋ค.
โฆ
HTTP ํ๋ก์์ ์น ๊ฒ์ดํธ์จ์ด๋ฅผ ๋น๊ตํ๊ณ HTTP ํ๋ก์๊ฐ ์ด๋ป๊ฒ ๋ฐฐ์น๋๋์ง ์ค๋ช ํ๋ค.
โฆ
ํ๋ก์๊ฐ ํ์ฉ๋๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๋ค.
โฆ
ํ๋ก์๊ฐ ์ค์ ๋คํธ์ํฌ์ ์ด๋ป๊ฒ ๋ฐฐ์น๋์ด ์๋์ง ๊ทธ๋ฆฌ๊ณ ํธ๋ํฝ์ด ์ด๋ป๊ฒ ํ๋ก์ ์๋ฒ๋ก ๊ฐ๊ฒ๋๋์ง ์ค๋ช ํ๋ค.
โฆ
๋ธ๋ผ์ฐ์ ์์ ํ๋ก์๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ด๋ป๊ฒ ์ค์ ํด์ผ ํ๋์ง ๋ณด์ฌ์ค๋ค.
โฆ
HTTP ํ๋ฝ์ ์์ฒญ์ด ์๋ฒ ์์ฒญ๊ณผ ์ด๋ป๊ฒ ๋ค๋ฅธ์ง, ๊ทธ๋ฆฌ๊ณ ํ๋ฝ์๊ฐ ์ด๋ป๊ฒ ๋ธ๋ผ์ฐ์ ์ ๋์์ ๋ฏธ๋ฌํ๊ฒ ๋ฐ๊พธ๋์ง ๋ณด์ฌ์ค๋ค.
โฆ
์ผ๋ จ์ ํ๋ก์ ์๋ฒ๋ค์ ํต๊ณผํ๋ ๋ฉ์์ง์ ๊ฒฝ๋ก๋ฅผ, Via ํค๋์ TRACE ๋ฉ์๋๋ฅผ ์ด์ฉํด ๊ธฐ๋กํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๋ค.
โฆ
ํ๋ก์์ ๊ธฐ๋ฐํ HTTP ์ ๊ทผ ์ ์ด๋ฅผ ์ค๋ช ํ๋ค.
โฆ
์ด๋ป๊ฒ ํ๋ก์๊ฐ ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์์ ๊ฐ๊ฐ์ ๋ค๋ฅธ ๊ธฐ๋ฅ๊ณผ ๋ฒ์ ๋ค์ ์ง์ํ๋ฉด์ ์ํธ์์ฉ ํ ์ ์๋์ง ์ค๋ช ํ๋ค.
6.1 Web Intermediaries
โข
์น ํ๋ก์ ์๋ฒ๋ ํด๋ผ์ด์ธํธ ์ ์ฅ์์ ํธ๋์ญ์ ์ ์ํํ๋ ์ค๊ฐ์ธ
โข
ํด๋ผ์ด์ธํธ๋ ์น ์๋ฒ์ ํต์ ํ๋ ๋์ ํ๋ก์์ ํต์ ํ๋ฉฐ, ํ๋ก์๋ ํด๋ผ์ด์ธํธ ์ ์ฅ์์ ์๋ฒ์ ํต์ (๋จ, ํ๋ก์๋ฅผ ๊ฑฐ์น๋ ๊ฒ์ ์ํ ๊ฒฝ์ฐ)
โข
ํด๋ผ์ด์ธํธ ์ ์ฅ์์ ํธ๋์ญ์ ์ ์๋ฃํ๋ค๋ ์ธก๋ฉด์์๋ ๋์ผํ์ง๋ง, ํ๋ฝ์ ์๋ฒ๊ฐ ์ ๊ณตํ๋ ์ข์ ์๋น์ค๋ฅผ ํ์ฉํ ์ ์๊ฒ๋จ
โข
HTTP ํ๋ก์๋ ์น ์๋ฒ์ด์ ์น ํด๋ผ์ด์ธํธ์ด๊ธฐ๋ ํจ
โข
ํ๋ก์๋ HTTP ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ๊ฒ ๋๋ฏ๋ก, ๋ฐ๋์ ์น ์๋ฒ์ฒ๋ผ ์์ฒญ๊ณผ ์ปค๋ฅ์ ์ ์ ์ ํ ๋ค๋ฃจ๊ณ ์๋ต์ ๋๋ ค์ค์ผ ํจ
โข
๊ทธ์ ๋์์ ํ๋ฝ์๋ ์์ฒญ์ ์๋ฒ๋ก ๋ณด๋ด๊ธฐ๋ ํ๋ฏ๋ก, ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ต์ ๋ฐ๋ ์ฌ๋ฐ๋ฅธ HTTP ํด๋ผ์ด์ธํธ์ฒ๋ผ ๋์ํด์ผ ํจ
Figure 6-1. A proxy must be both a server and a client
6.1.1 Private and Shared Proxies
โข
๊ณต์ ํ๋ก์(public proxies)
: ์ฌ๋ฌ ํด๋ผ์ด์ธํธ์๊ฒ ๊ณต์ ๋๋ ํ๋ก์
โฆ
๋๋ถ๋ถ์ ํ๋ก์๋ ๊ณต์ฉ์ด๋ฉฐ ๊ณต์ ๋ ํ๋ก์์
โฆ
์ค์ ์ง์ค๋ ํ๋ก์๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ ๋ ๋น์ฉํจ์จ์ด ๋๊ณ ์ฌ์
โฆ
๊ทธ๋ฆฌ๊ณ ์บ์ ํ๋ก์ ์๋ฒ์ ๊ฐ์ ๋ช๋ช ํ๋ก์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ก์๋ฅผ ์ด์ฉํ๋ ์ฌ์ฉ์๊ฐ ๋ง์์๋ก ์ ๋ฆฌ
โข
๊ฐ์ธ ํ๋ก์(private proxies)
: ํ๋์ ํด๋ผ์ด์ธํธ๊ฐ ๋ ์ ํ์ฌ ์ฌ์ฉํ๋ ํ๋ก์
โฆ
๊ฐ์ธ ์ ์ฉ ํ๋ฝ์๋ ๊ทธ๋ค์ง ํํ์ง๋ ์์ง๋ง ๊พธ์คํ ์ฌ์ฉ๋๊ณ ์์(ํนํ ํด๋ผ์ด์ธํธ ์ปดํจํฐ์์ ์ง์ ์คํ๋๋ ํํ๋ก)
โฆ
์ด๋ค ๋ธ๋ผ์ฐ์ ๋ณด์กฐ ์ ํ๋ค์ ๋ช๋ช ISP ์๋น์ค์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๋ฅ์ ํ์ฅํ๊ฑฐ๋ ์ฑ๋ฅ์ ๊ฐ์ ํ๊ฑฐ๋ ๋ฌด๋ฃ ISP ์๋น์ค๋ฅผ ์ํ ๊ด๊ณ ๋ฅผ ์ด์ํ๊ธฐ ์ํด ์์ ํ๋ก์๋ฅผ ์ฌ์ฉ์์ ์ปดํจํฐ์์ ์ง์ ์คํ
6์ฅ ํ๋ก์