์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.

1. ๊ฐœ์š”2. ์„ค๋ช…3. ์—ญ์‚ฌ4. ๊ตฌ์กฐ
4.1. ์š”์ฒญ4.2. ์‘๋‹ต
5. ๋ฉ”์‹œ์ง€ ์ข…๋ฅ˜
5.1. ์š”์ฒญ5.2. ์‘๋‹ต ์ฝ”๋“œ
6. HTTPS์™€์˜ ์ฐจ์ด์ 
6.1. HTTP ์˜ ๋‹จ์ 

1. ๊ฐœ์š”[ํŽธ์ง‘]

HyperText Transfer Protocol ๋˜๋Š” HyperTexT Protocol์˜ ์•ฝ์ž์ด๋‹ค. ํ•ด์„ํ•˜๋ฉด ๋ฌธ์„œ๋ฅผ ์ „์†กํ•˜๊ธฐ์œ„ํ•œ ์•ฝ์†์œผ๋กœ ํ•ด์„๋œ๋‹ค.

2. ์„ค๋ช…[ํŽธ์ง‘]

ํ•˜์ดํผํ…์ŠคํŠธ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ์˜ ์ผ์ข…์œผ๋กœ ์ฆ‰, HTTP๋Š” ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์˜ ์‚ฌ์ด์—์„œ ์–ด๋–ป๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ๊ตํ™˜ํ• ์ง€๋ฅผ ์ •ํ•ด๋†“์€ ๊ทœ์น™์ธ ๊ฒƒ์ด๋‹ค. 80๋ฒˆ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ HTTP์˜ ๊ตฌ์กฐ๋Š” ์š”์ฒญ(Request)๊ณผ ์‘๋‹ต(Response)์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์˜ˆ์‹œ๋ฅผ ๋“ค์ž๋ฉด 'ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์›น ํŽ˜์ด์ง€์—์„œ ๋งํฌ๊ฐ€ ๊ฑธ๋ ค์žˆ๋Š” ํ…์ŠคํŠธ๋ฅผ ํด๋ฆญ(์š”์ฒญ)ํ•˜๋ฉด ๋งํฌ๋ฅผ ํƒ€๊ณ  ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐ„๋‹ค(์‘๋‹ต)'. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ธํ„ฐ๋„ท ์ฃผ์†Œ ๋งจ ์•ž์— ๋“ค์–ด๊ฐ€๋Š” http://๋Š” ๋ฐ”๋กœ ์ด ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด์„œ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•˜๊ฒ ๋‹ค๋Š” ํ‘œ์‹œ์ธ ๊ฒƒ์ด๋‹ค.

TLS๋ฅผ ํ†ตํ•œ ๋ณด์•ˆ์ด ์ ์šฉ๋œ ๋ฒ„์ „์€ HTTPS ์ฐธ๊ณ .

์ฐธ๊ณ ๋กœ http:// ํ‘œ๊ธฐ๋Š” ์›”๋“œ ์™€์ด๋“œ ์›น์˜ ์ฐฝ์‹œ์ž์ธ ํŒ€ ๋ฒ„๋„ˆ์Šค๋ฆฌ์˜ ์‹ค์ˆ˜์—์„œ ๋น„๋กฏ๋˜์—ˆ๋Š”๋ฐ, ์‚ฌ์‹ค 2๊ฐœ์˜ ๋น—๊ธˆ(Slash)๋Š” ํ•„์š”๊ฐ€ ์—†๋‹ค! ์ฆ‰, ๊ตณ์ด ๋น—๊ธˆ๊นŒ์ง€ ์ž…๋ ฅํ•  ํ•„์š”๋Š” ์—†๊ณ  ์Œ์ (:)๊นŒ์ง€๋งŒ ์จ๋„ ์ •์ƒ์ ์œผ๋กœ ์ ‘์†๋œ๋‹ค๋Š” ์–˜๊ธฐ.[1] ํ•˜์ง€๋งŒ ์ด ๋น—๊ธˆ ๋‘ ๊ฐœ๋Š” ๋‚˜๋ฆ„๋Œ€๋กœ ์“ธ๋ชจ๊ฐ€ ์žˆ๋Š”๋ฐ, ์ผ๋ฐ˜ HTTP์™€ HTTPS ์–‘์ชฝ์— ๋Œ€์‘ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. //๊ฐ€ ์—†์œผ๋ฉด :๋ฅผ ๋Œ€์‹  ์“ฐ์ง€ ์•Š์„๊นŒ

3. ์—ญ์‚ฌ[ํŽธ์ง‘]

1996๋…„์— ์ฒซ ์ƒ์šฉํ™” ๋ฒ„์ „์ธ HTTP/1.0๊ฐ€ ๋ฐœํ‘œ๋˜์—ˆ๊ณ , 1999๋…„์— HTTP/1.1, ๊ทธ๋ฆฌ๊ณ  2015๋…„ HTTP/2๋ฅผ ๊ณต์‹์œผ๋กœ ๋ฐœํ‘œํ•˜์˜€๋‹ค.

ํ˜„์žฌ HTTP/1.1์„ ๋Œ€๋ถ€๋ถ„ ์‚ฌ์šฉ ์ค‘์ด์ง€๋งŒ ๊ตฌ๊ธ€ ๊ณ„์—ด์˜ ์‚ฌ์ดํŠธ๋Š” HTTP/2์™€ HTTP/1.1์„ ๋™์‹œ์— ์ง€์›ํ•˜๊ณ  ์žˆ๊ณ , ๋‹ค๋ฅธ ๊ตญ๋‚ด์™ธ ์‚ฌ์ดํŠธ๋“ค๋„ ์ ์ฐจ์ ์œผ๋กœ HTTP/2๋กœ ๋ฐ”๊พธ๋Š” ์ถ”์„ธ๋‹ค. HTTP/2๋Š” HTTPS ์—ฐ๊ฒฐ์—์„œ๋งŒ ์ž‘๋™ํ•˜๋ฉฐ, HTTP ์—ฐ๊ฒฐ์ผ ๊ฒฝ์šฐ์—๋Š” ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„์—์„œ HTTP/2๋ฅผ ์ง€์›ํ•˜๋”๋ผ๋„ HTTP/1.1๋กœ ์—ฐ๊ฒฐ๋œ๋‹ค.

HTTP/2๋Š” ๊ตฌ๊ธ€์ด ๋ฐœํ‘œํ•œ SPDY๋ผ๋Š” ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ–ˆ๋Š”๋ฐ, HTTP/3์—๋„ ๊ตฌ๊ธ€์ด ๋ฐœํ‘œํ•œ QUIC์˜ ๊ธฐ์ˆ ์ด ์ ์šฉ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๋ฐฉํ–ฅ์ด ์ •ํ•ด์ง„ ๋ชจ์–‘์ด๋‹ค. HTTP/2๊นŒ์ง€๋Š” TCP ์—ฐ๊ฒฐ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š”๋ฐ, HTTP over QUIC(HTTP/3)์€ UDP ์—ฐ๊ฒฐ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค. ์„ค๋ช…

4. ๊ตฌ์กฐ[ํŽธ์ง‘]

HTTP๋Š” ์š”์ฒญ(Request)์™€ ์‘๋‹ต(Response)๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ณ , ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต์„ ํ•˜๋Š” ๊ตฌ์กฐ๋กœ ๋˜์–ด ์žˆ๋‹ค. HTTP๋Š” FTP๋‚˜ ํ…”๋„ท๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๋น„์—ฐ๊ฒฐ์‹์ด๋‹ค. FTP๋‚˜ Telnet์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์ •๋ณด๋ฅผ ์š”์ฒญํ•ด๋„ ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์™€ ์—ฐ๊ฒฐ์„ ๋Š์ง€ ์•Š์ง€๋งŒ, HTTP๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์ •๋ณด๋ฅผ ์š”์ฒญํ•˜๋ฉด ์‘๋‹ต ์ฝ”๋“œ์™€ ๋‚ด์šฉ์„ ์ „์†กํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ์™€ ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋‚˜๋ฌด์œ„ํ‚ค์— ์ ‘์†์„ ํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ์ ‘์†ํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” GET๋ช…๋ น์„ ๋‚˜๋ฌด์œ„ํ‚ค ์„œ๋ฒ„์— ์ „์†กํ•œ๋‹ค. GET์š”์ฒญ์„ ๋ฐ›์€ ๋‚˜๋ฌด์œ„ํ‚ค๋Š” ์‘๋‹ต ์ฝ”๋“œ์™€ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜๊ณ  ๊ทธ๊ฒƒ์„ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฟŒ๋ ค์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

4.1. ์š”์ฒญ[ํŽธ์ง‘]

GET /index.htm HTTP/1.1  -  ํ—ค๋”
Host: namu.com  -  ํ˜ธ์ŠคํŠธ
- ๊ณต๋ฐฑ -

๋‹ค์Œ ์š”์ฒญ ๋ฉ”์‹œ์ง€๋Š” namu.com์˜ index.htm์„ ๋ณด์—ฌ๋‹ฌ๋ผ๋Š” ์š”์ฒญ์ด๋‹ค. ์„œ๋ฒ„๋Š” ์ด๊ฒƒ์„ ๋ฐ›๊ณ  ์‘๋‹ตํ•œ๋‹ค.

4.2. ์‘๋‹ต[ํŽธ์ง‘]


HTTP/1.1 200 OK
<ํ—ค๋”>

<HTML>
    <HEAD>
        <TITLE>Hello!</TITLE>
    </HEAD>

    <BODY>
        <p>World!</p>
    </BODY>
</HTML>

HTTP/1.1์€ HTTP์˜ ๋ฒ„์ „์ด๋ฉฐ, 200 OK๋Š” ์ž๋ฃŒ ์ „์†ก์ด ์„ฑ๊ณตํ–ˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ํ—ค๋” ๋ถ€๋ถ„์—” ์„œ๋ฒ„ ์ •๋ณด์™€ ์š”์ฒญ ๋ฐ›์€ ์‹œ๊ฐ ๋“ฑ์ด ์ „์†ก๋˜๊ณ  ๊ทธ ๋ฐ‘์— ์‘๋‹ต ๋ณธ๋ฌธ์ด ์ „์†ก๋œ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์›น ๋ฌธ์„œ๋ฅผ ์š”์ฒญํ–ˆ์„ ๊ฒฝ์šฐ์—๋Š” <HTML>๋กœ ์‹œ์ž‘ํ•˜๋Š” ์›น ๋ฌธ์„œ๊ฐ€ ์ „์†ก๋œ๋‹ค.

5. ๋ฉ”์‹œ์ง€ ์ข…๋ฅ˜[ํŽธ์ง‘]

5.1. ์š”์ฒญ[ํŽธ์ง‘]

HTTP์—์„œ ์ง€์›ํ•˜๋Š” ์š”์ฒญ ๋ฉ”์‹œ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
  • GET: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ URL์— ํ•ด๋‹นํ•˜๋Š” ์ž๋ฃŒ์˜ ์ „์†ก์„ ์š”์ฒญํ•œ๋‹ค.
  • HEAD: GET ์š”์ฒญ์œผ๋กœ ๋ฐ˜ํ™˜๋  ๋ฐ์ดํ„ฐ ์ค‘ ํ—ค๋” ๋ถ€๋ถ„์— ํ•ด๋‹นํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ ์š”์ฒญํ•œ๋‹ค.
  • POST: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๋ฅผ ๋ณด๋‚ธ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฒŒ์‹œํŒ์— ๊ธ€์„ ์“ธ ๋•Œ ํด๋ผ์ด์–ธํŠธ์˜ ๋ฌธ์„œ๊ฐ€ ์„œ๋ฒ„๋กœ ์ „์†ก๋˜์–ด์•ผ ํ•œ๋‹ค.
  • PATCH: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ์ง€์ •ํ•œ URL์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ€๋ถ„์ ์œผ๋กœ ์ˆ˜์ •ํ•  ๊ฒƒ์„ ์š”์ฒญํ•œ๋‹ค.
  • PUT: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ์ง€์ •ํ•œ URL์— ์ง€์ •ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๊ฒƒ์„ ์š”์ฒญํ•œ๋‹ค.
  • DELETE: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ์ง€์ •ํ•œ URL์˜ ์ •๋ณด๋ฅผ ์ œ๊ฑฐํ•  ๊ฒƒ์„ ์š”์ฒญํ•œ๋‹ค.
  • TRACE: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ์†ก์‹ ํ•œ ์š”์ฒญ์˜ ๋‚ด์šฉ์„ ๋ฐ˜ํ™˜ํ•ด ์ค„ ๊ฒƒ์„ ์š”์ฒญํ•œ๋‹ค.
  • CONNECT: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํŠน์ • ์ข…๋ฅ˜์˜ ํ”„๋ก์‹œ ์„œ๋ฒ„์—๊ฒŒ ์—ฐ๊ฒฐ์„ ์š”์ฒญํ•œ๋‹ค.
  • OPTIONS: ํ•ด๋‹น URL์—์„œ ์ง€์›ํ•˜๋Š” ์š”์ฒญ ๋ฉ”์„ธ์ง€์˜ ๋ชฉ๋ก์„ ์š”์ฒญํ•œ๋‹ค.

์ด ์ค‘ GET ๊ณผ HEAD ์š”์ฒญ์€ ์›์น™์ ์œผ๋กœ ์ด๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค๊ณ  ํ•ด์„œ ์„œ๋ฒ„ ์ธก์˜ ๋ฐ์ดํ„ฐ์— ๋ณ€ํ™”๊ฐ€ ์žˆ์–ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ์ด๋ฅผ Safe Method ๋ผ๊ณ  ๋ถ„๋ฅ˜ํ•œ๋‹ค. ๋˜ํ•œ, GET, HEAD, PUT, DELETE ๋Š” ๋™์ผํ•œ ์š”์ฒญ์ด ํ•œ๋ฒˆ ์ „์†ก๋˜์—ˆ์„ ๋•Œ์™€ ์—ฌ๋Ÿฌ ๋ฒˆ ์—ฐ์†ํ•˜์—ฌ ์ „์†ก๋˜์—ˆ์„ ๋•Œ์˜ ์„œ๋ฒ„ ์ธก์˜ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๊ฐ€ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค. ์ด๋ฅผ Idempotent Method ๋ผ๊ณ  ๋ถ„๋ฅ˜ํ•œ๋‹ค.

5.2. ์‘๋‹ต ์ฝ”๋“œ[ํŽธ์ง‘]

6. HTTPS์™€์˜ ์ฐจ์ด์ [ํŽธ์ง‘]

์‚ฌ์ดํŠธ ์ฃผ์†Œ๊ฐ€ HTTPS๋กœ ์‹œ์ž‘ํ•˜๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ๋‚˜ ์‹ ์šฉ์นด๋“œ ๋ฒˆํ˜ธ ๋“ฑ์˜ ์ •๋ณด๋Š” ๋น„๊ณต๊ฐœ ์ƒํƒœ๋กœ ํ•ด๋‹น ์‚ฌ์ดํŠธ์— ์ ‘์†๋œ๋‹ค.
๋‚˜๋ฌด์œ„ํ‚ค๋„ HTTPS๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋‹ค.ํ•˜์ง€๋งŒ ๋‚˜๋ฌด์œ„ํ‚ค๋Š” ์‹ ์šฉ์นด๋“œ๋‚˜ ์ „ํ™”๋ฒˆํ˜ธ ์ž…๋ ฅ์ด ์—†์œผ๋‹ˆ HTTPS๋Š” ํ•„์š”์—†๋‹ค.


HTTPS๊ฐ€ ์‚ฌ์šฉ๋  ๊ฒฝ์šฐ ์ž ๊ธˆ ์•„์ด์ฝ˜์ด ๋œฌ๋‹ค.

HTTPS๊ฐ€ ๋ฏธ์‚ฌ์šฉ๋  ๊ฒฝ์šฐ ์œ„ํ—˜ ํ‘œ์‹œ๊ฐ€ ๋œฌ๋‹ค.[2]

6.1. HTTP ์˜ ๋‹จ์ [ํŽธ์ง‘]

  • HTTPS๊ฐ€ ์‚ฌ์šฉ๋˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ ๋น„๋ฐ€๋ฒˆํ˜ธ, ์‹ ์šฉ์นด๋“œ ๋ฒˆํ˜ธ ๋“ฑ์˜ ์ •๋ณด๊ฐ€ ๋„์šฉ ๋  ์ˆ˜ ์žˆ๋‹ค. ์ธํ„ฐ๋„ท ๊ฒฐ์ œ ๋“ฑ ๊ฐœ์ธ์ •๋ณด ์ž…๋ ฅ์ด ํ•„์š”ํ•œ ์‚ฌ์ดํŠธ์—์„œ๋Š” HTTPS๋ฏธ์‚ฌ์šฉ์„ ๊ฑฐ์˜ ๋ณผ ์ˆ˜๊ฐ€ ์—†๋‹ค.
  • ์˜์–ด๊ต์œก ์‚ฌ์ดํŠธ์—์„œ๋Š”์—์„œ๋Š” ๋“ฃ๊ธฐ(listening), ์“ฐ๊ธฐ(writing)๋Š” HTTPS๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋˜์ง€๋งŒ, ๋งํ•˜๊ธฐ(speaking)์—์„œ๋Š” HTTPS๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ด๋Š” ๋งํ•˜๊ธฐ์—์„œ HTTPS๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ์–ด์•ผ Speakingํ• ๋•Œ ์“ฐ๋Š” ๋งˆ์ดํฌ๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
[1] ์‹ค์ œ๋กœ ๋น—๊ธˆ ๋‘๊ฐœ๋ฅผ ์—†์• ๋„ ์ž˜ ๋™์ž‘๋œ๋‹ค.
[2] ๋ชจ๋ฐ”์ผ๋กœ ์ดฌ์˜ํ•œ ์‚ฌ์ง„์ด๋ฉฐ, PC์—์„œ๋Š” ์œ„ํ—˜ ํ‘œ์‹œ ์˜†์— ์ฃผ์˜ ์š”ํ•จ์ด๋ผ๋Š” ํ‘œ์‹œ๋„ ํ•จ๊ป˜ ๋– ์žˆ๋‹ค.