2020. 1. 19. 23:51ใ๐ฑ Develop/web
** ๋ณธ ๊ฐ์๋ ๋ค์ด๋ฒ ๋ถ์คํธ์ฝ์ค์์ ๋ฌด๋ฃ๋ก ํ์ธํ ์ ์๋ ๊ฐ์ข๋ก, ์น ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ด ์ง์์ ๋ฐฐ์ฐ๊ธฐ ์ํ ๊ฐ์์ ๋๋ค.
์ด๋ฒ ๊ฐ์ ๋ด์ฉ์ ํฌ๊ฒ http ํ๋กํ ์ฝ์ ์ ๋ฐ์ ์ธ ์๋ ๋ฐฉ์๊ณผ ์ฅ๋จ์ ๊ณผ ์์ฒญ/์๋ต ๋ฐ์ดํฐ ํฌ๋งท์ ๋ํด ๋ค๋ฃจ์์ต๋๋ค.
1. http๋?
Hypertext Transfer Protocol์ ์ฝ์๋ก ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์ธํฐ๋ท ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ํ๋กํ ์ฝ์ ์๋ฏธํ๋ค.
2. URL
url์ ์ธํฐ๋ท ์์์ ์์์ ์์น๋ฅผ ๋ํ๋ด๋ฉฐ, ํน์ ์น ์๋ฒ์ ํน์ ํ์ผ์ ์ ๊ทผํ๊ธฐ ์ํ ์ฃผ์๋ผ๊ณ ๋ณผ ์ ์๋ค. ์๋ฅผ ๋ค์ด์ mydrive๋ผ๋ ์ฌ์ดํธ์์ docs๋ผ๋ ํด๋์ ๋ค์ด ์๋ index.html ํ์ผ์ ๋ณด๊ณ ์ถ๋ค๊ณ ํ๋ฉด ์ฃผ์์ฐฝ์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ผ๋ฉด ์ ๊ทผํ ์ ์๋ค.
์ ๊ทผ ํ๋กํ ์ฝ:// ๋ฆฌ์์ค(์์)์ ์๋ฒ ip ์ฃผ์๋ ๋๋ฉ์ธ / ๋ฌธ์ ๊ฒฝ๋ก/ ๋ฌธ์ ์ด๋ฆ http://www.mydrive.co.kr/docs/index.html |
** ํฌํธ: ํฌํธ๋ ํ๋์ ์๋ฒ๊ฐ ์ฐ๋ ๋ฐฉ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ์ฆ, ํ๋์ ๋ฌผ๋ฆฌ์ ์ปดํจํฐ์๋ ์ฌ๋ฌ๊ฐ์ง ์ํํธ์จ์ด ์๋ฒ๊ฐ ๋์ํ ์ ์๋๋ฐ, ๊ฐ๊ฐ์ ์๋ฒ๋ ๊ณ ์ ํ ํฌํธ(port) ๊ฐ์ ๊ฐ์ ธ์ผํ๋ค.(๊ธฐ๋ณธ ํฌํธ : 80)
2. http์ ์๋ ๋ฐฉ์
ํด๋ผ์ด์ธํธ์ ์๋ฒ์ ๋ชจ๋ธ์ ๋ฐ๋ฅด๋ฉฐ, ์ด ๋์ ๊ด๊ณ๋ ๊ณ์ ์ฐ๊ฒฐ๋ ํํ๊ฐ ์๋ ๋ฌด์ํ(stateless)๋ฅผ ์ ์งํ๋ค. ํด๋ผ์ด์ธํธ๋ ์๋ฒ์๊ฒ ์์ฒญ(Request)๋ฅผ ํตํด ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊ณ ์ ํ๊ณ , ์๋ฒ๋ ๊ทธ ์์ฒญ์ ๋ํ ์๋ต(Response) ๊ฐ์ ๋ณด๋ด์ฃผ์ด ํด๋ผ์ด์ธํธ๊ฐ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ ์ฃผ๋ ์ญํ ์ ํ๋ค.

์ด ์ ์ฒด์ ์ธ ๊ณผ์ ์ด ์ด๋ฃจ์ด์ง๊ธฐ ์ํด์๋ ๋จผ์ ํด๋ผ์ด์ธํธ๊ฐ ๋ฐ๋์ ๋จผ์ ์๋ฒ์ ์ ์ํด์ ์ผ์ ํ ํ์์ ์ง์ผ์ ์์ฒญ์ ํด์ผํ๋ค. ์ด ํ์์๋ ํค๋์ ๋ฐ๋๊ฐ ์๋๋ฐ, ํค๋๋ ์์ฒญ ๋ฉ์๋/ ์์ฒญ URI / http ํ๋กํ ์ฝ ๋ฒ์ ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ์์ฒญ URI๋ ์์ฒญํ๋ ์์์ ์์น๋ฅผ ๋ช ์ํ๊ธฐ ์ํ ๊ฒ์ผ๋ก, URL์ ๋ ํฌ๊ดํ๋ ๊ฐ๋ ์ด๋ค. ์ด ๋์ ์ฐจ์ด๋ฅผ ์์๋๋ ๊ฒ์ ์ค์ํ๊ธฐ ๋๋ฌธ์ ์ถํ ํฌ์คํ ์ ํ๋๋ก ํ๊ฒ ๋ค. ์ดํ ์์ฒญ ๋ฐ๋ ๋ถ๋ถ์ ์์ฒญ ๋ฉ์๋์ ์ ํ์ ๋ฐ๋ผ์ ๊ฐ์ ๋ฃ์ด์ ์ ์กํ๊ธฐ๋ ํ๊ณ ์์ด ๋ณด๋ด๋ ๋๋ค.
< ํด๋ผ-> ์๋ฒ: Request >
์์ฒญ ํค๋ | GET /serverlet/query?a=10&b=10 |
์์ฒญ ๋ฐ๋ | (get์ ๋ฐ๋ ์์ด ์์ฒญํจ) |
์์ฒญ ํค๋์ ๋ค์ด๊ฐ๋ ์์ฒญ ๋ฉ์๋ ๋ฐฉ์์ ๋ค์ํ๋ฐ, ์ฃผ๋ก ๋ค ๊ฐ์ง ๋ฐฉ์์ด ์์ฃผ ์ฐ์ด๋ฏ๋ก ์์๋๋ฉด ์ข๋ค.
GET | ์ ๋ณด๋ฅผ ์์ฒญํ๊ธฐ (SELECT) |
POST | ์ ๋ณด๋ฅผ ์ฝ์ ํ๊ธฐ(INSERT) |
PUT | ์ ๋ณด๋ฅผ ์ ๋ฐ์ดํธ ๋ฐ ์์ ํ๊ธฐ(UPDATE) |
DELETE | ์ ๋ณด๋ฅผ ์ญ์ ํ๊ธฐ(DELETE) |
๊ทธ๋ ๊ฒ ๋๋ฉด ์๋ฒ ์ธก์์๋ ํด๋ผ์ ์์ฒญ์ ๋ฐ์ ๊ฒฐ๊ณผ ๊ฐ์ ์๋ตํ์ฌ ๋ค์ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ธ๋ค. ์๋ต ๊ฐ ๋ํ ํค๋์ ๋ฐ๋์ ํ์์ ์ง์ผ์ ๋ค์ ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ด์ฃผ๋๋ฐ, ๋ค์๊ณผ ๊ฐ๋ค. ์๋ต ํค๋์๋ http/ http ๋ฒ์ ๋ช ์/ ์๋ต ์ฝ๋/์๋ต ๋ฉ์์ง๊ฐ ๋ค์ด๊ฐ๊ณ , ์๋ต ๋ฐ๋์๋ ์ค์ง์ ์ผ๋ก ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ ์์ฒญํ ๋ฐ์ดํฐ ๊ฐ์ด ๋ค์ด๊ฐ๋ค.
< ์๋ฒ-> ํด๋ผ: Response >
์๋ต ํค๋ | HTTP/1.1 200 ok |
์๋ต ๋ฐ๋ |
data /server Content-Type/ Content-Length ๋ฑ ๊ธฐ๋ณธ์ ์ธ ์ ๋ณด์ ํจ๊ป ์ค์ง์ ์ผ๋ก ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ ์ ๋ณด |

** http์ https ๋ ๋ฌด์จ ์ฐจ์ด?
http๋ ์ธํฐ๋ท ์์์ ์น ์๋ฒ์ ์น ๋ธ๋ผ์ฐ์ ์ฌ์ด์ ๋ฌธ์๋ฅผ ์ ์กํ๊ธฐ ์ํ ํต์ ๊ท์ฝ(protocol)์ด๊ณ , https๋ http์ ๋ณด์ ์์ ์ทจ์ฝ์ ์ ํด๊ฒฐํ๊ณ ์ ๋์จ ํ๋กํ ์ฝ์ด๋ค.
http๋ ๋ฐ์ดํฐ๋ฅผ ํ ์คํธ๋ก ์ฃผ๊ณ ๋ฐ๊ธฐ ๋๋ฌธ์ ์ฝ๊ฒ ๋ ธ์ถ ๋ ์ ์๋ค๋ ๋ณด์ ์์ ๋จ์ ์ด ์๊ธฐ ๋๋ฌธ์, http์ ์์ผ(socket) ํต์ ์ด ์ถ๊ฐ๋์ด ๋์จ ํ๋กํ ์ฝ์ด https์ธ ๊ฒ์ด๋ค.
https๋ http์ ๋น์ทํ์ง๋ง ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฌ์ด์ ํต์ ์ด SSL์ด๋ TLS ๊ฐ์ ํ๋กํ ์ฝ์ ํตํด ์ํธํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค๋ ์ ์์ ๋ค๋ฅด๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ์๋ง๋ค ์ธ์ฆ์ด ํ์ํ๋ฉฐ http๋ณด๋ค ๋ณด์ ๊ธฐ๋ฅ์ด ๋ ์ถ๊ฐ๋ ํ๋กํ ์ฝ๋ก ๋ณผ ์ ์๋ค.
[๋ถ์คํธ์ฝ์ค ๊ฐ์ ๋งํฌ]