๐ก JSON ๊ฐ์ ๋ค์ํ ํํ์ ๋ฐ์ดํฐ๊ฐ HTTP๋ฅผ ํตํด ์ ์ก
์ฃผ๋ก HTML/1.1TCP๋ฅผ ์ฌ์ฉ / ์ต๊ทผ HTML/2, HTML/3UDP์ ์ฌ์ฉ๋๋ ์ฆ๊ฐ์ค
ํด๋ผ์ด์ธํธ : ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ต์ ๊ธฐ๋ค๋ฆฐ๋ค
์๋ฒ : ์์ฒญ์ ์ํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์๋ตํ๋ค
1๏ธโฃ ํด๋ผ์ด์ธํธ - ์๋ฒ ๊ฐ๊ฐ ๋ ๋ฆฝ์ ๊ตฌ์ฑ
2๏ธโฃ ๋ฌด์ํ
Stateless- ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ์ํ๋ฅผ ๋ณด์กดํ์ง ์์ผ๋ฏ๋ก ์ํ ํ์ฅ์ฑ ๋๋ค - ํ๊ณ : ๋ฌด์ํ์ ํ๊ณ ( = ์ ๋ถ Statelessํ๊ฒ ์ค๊ณํ ์๋ ์๋ค) โก๏ธ ์บ์, ์ธ์ , ํ ํฐ์ผ๋ก ํด๊ฒฐ3๏ธโฃ ๋น์ฐ๊ฒฐ
connectionless- ์ฐ๊ฒฐ์ ์ ์งํ์ง ์์ผ๋ฏ๋ก ์์ ํจ์จ์ ์ฌ์ฉ - ํ๊ณ : ๋น์ฐ๊ฒฐ์ ํ๊ณ ( = ๋งค ์์ฒญ๋ง๋ค ์ฐ๊ฒฐํ๊ณ ์ ์ ์์ ๋ค์ด๋ก๋ ) โก๏ธ HTTP ์ง์์ฐ๊ฒฐ๋ก ํด๊ฒฐ
๐๊ธฐ์ต ์๋๋ฉด ์ฉ์ด๋ชจ์์ง ์ดํด๋ณด์๐
๐ก
์์ฒญ๋ฉ์ธ์ง์๋ต๋ฉ์ธ์ง๋๊ฐ์ง๊ฐ ์๋ค

| ์์ฒญ ๋ฉ์ธ์ง(Request Message) | ์๋ต ๋ฉ์ธ์ง(Response Message) | |
|---|---|---|
![]() | ![]() | |
| HTTP Method - GET, POST, PUT, PATCH, DELETE ๋ฑ | HTTP Version | |
| Start Line | path - ์ ์ก๋๋ ๋์์ ์ ๋ ๊ฒฝ๋ก(์ฟผ๋ฆฌํฌํจ) | Status Code-์์ฒญ ์ฑ๊ณต์ฌ๋ถ ๋ํ๋ด๋ ์ฝ๋ |
| HTTP Version | Status Text-์ฝ๋์ ํจ๊ป ์ ๋ฌ๋ ๋ฉ์ธ์ง | |
| Header | - ์์ฒญ์ ์ถ๊ฐ ์ ๋ณด๋ค์ ๊ฐ์ง๊ณ ์๋ค. | - ์๋ต์ ์ฐ๋ Header ๊ฐ ๋ฐ๋ก ์กด์ฌ |
| Empty Line | - ๊ณต๋ฐฑ ํ ์ค | - ๊ณต๋ฐฑ ํ ์ค |
| Message Body | - ์ค์ ์ ์กํ๋ ๋ฐ์ดํฐ๊ฐ ๋ด๊ฒจ ์๋ ๋ถ๋ถ | - ์ค์ ์ ์กํ๋ ๋ฐ์ดํฐ๊ฐ ๋ด๊ฒจ ์๋ ๋ถ๋ถ |
* OWS : ๋์ด์ฐ๊ธฐ ํ์ฉ
* field-name์ ๋์๋ฌธ์ ๊ตฌ๋ถ์ ํ์ง ์๋๋ค.
* ์๋ฒ๊ฐ ๊ฐ์์๊ณ ์์ด์ผ ํ๋ค
๋ณดํต ์์ฑ๋ ๋ ๋ฐ์ดํฐ๋ฅผ ์๋ณํ๊ธฐ์ํด์ id๊ฐ(์๋ณ์) ์๊น
html form์ ์ฌ์ฉ
๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์(๋ฆฌ์์ค)์ ์ ํด์ง ๊ฒ์ ์๋ค
message body๋ฅผ ํตํด ์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค
Query String ๋ฏธํฌํจ์
Query String ํฌํจ์ธ ๊ฒฝ์ฐ| โถ | โท | โธ |
|---|---|---|
![]() | ![]() | ![]() |
โถ ๊ธฐ์กด ๋ฆฌ์์ค ์กด์ฌํ๋ค๋ฉด โ ๋ฆฌ์์ค ์ ์ฒด ์์
โท ๊ธฐ์กด ๋ฆฌ์์ค์์ ์ผ๋ถ๋ง ๋ณ๊ฒฝํ๊ณ ์ถ์๋ฐ? โ ๊ทธ๋๋ ๋ฆฌ์์ค ์์ ํ ๋ฎ์ด์์์ง
โธ ๊ธฐ์กด ๋ฆฌ์์ค๊ฐ ์๋ ๊ฒฝ์ฐ โ ๋ฆฌ์์ค ์์ฑ
put์ด๋ ๋ค๋ฅด๋ค, ํ์ํ ๋ถ๋ถ๋ง ์์ ํ ์ ์๋ค

๐ก ์์ฑํ
*optional : ์์์๋ ์์์๋
GET (์กฐํ๋ง ํ๋๊น)POST, DELETE, PUT, PATCHGET โ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๊ณ์ ์กฐํ๋๋ค. (๋ฆฌ์์ค ์กฐํ ์ฌ์์ฒญ์ค ์์ ์์ฒญ์ด ์ถ๊ฐ๋๋ค๋ฉด? ๋ฉฑ๋ฑ์ฑ ๊ณ ๋ คX)PUT โ ์์ ํด์ ๋์ฒด๋ ํ์ ๊ฒฐ๊ณผ๋ ๊ณ์ ๊ฐ๋ค.DELETE โ ๊ฐ์ ์์ฒญ์ ์ฌ๋ฌ๋ฒํด๋ ์ญ์ ๋ ๊ฒฐ๊ณผ๋ ๊ฐ๋ค.POST โ ๊ณ์ข ์ก๊ธ์ ๋๋ฒํ๋ค๋ฉด?, ๊ฒ์ํ ๊ธ์ฐ๊ธฐ, ํ์๊ฐ์
GET, HEAD, POST์๊น ์๋ต ๋ฉ์ธ์ง์
200 ok๋ถ๋ถ , ๋ชจ๋ ์ธ์ธํ์ ์์ ๋ฐฑ๋จ์๋ก ์๊ณ ์์ผ์
๐ ์ ์ ์ฒ๋ฆฌ ์๋ฃ
| ๋ํ์ฝ๋ | |
|---|---|
| 200 OK | ์์ฒญ ์ฑ๊ณต |
| 201 Created | ์๋ก์ด ๋ฆฌ์์ค ์์ฑ |
| 202 Accepted | ์์ฒญ์ด ์์ ๋์์ผ๋ ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋์ง ์์ (์ฃผ๋ก Batch ์ฒ๋ฆฌ์์ ์ฌ์ฉ) |
| 204 No Content | ์์ฒญ์ ์ฑ๊ณตํ์ง๋ง, ์๋ต ๋ฐ์ดํฐ๊ฐ ์์ (์ ์ฅ ๋ฒํผ, ์์ฑ ๋ฒํผ ) |
๐ ์์ฒญ์ ์๋ฃํ๋ ค๋ฉด ์ถ๊ฐ ํ๋์ด ํ์ํ ์ํ (+ ์๋ฒ๊ฐ ๋ ์ด๊ฑฐ ํด๋ฐ๋ฐฉ! ์๋ ค์ค)
๋ฆฌ๋ค์ด๋ ์ ์ ์ข ๋ฅ
์๊ตฌ ๋ฆฌ๋ค์ด๋ ์
url์ด ์๊ตฌ์ ์ผ๋ก ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ - ๊ธฐ์กด url ์ฌ์ฉ ์ํจ
| 301 Moved Permanently | ๋ฉ์๋ ๋ณ๊ฒฝ(get), ๋ฉ์ธ์ง ๋ณ๊ฒฝ๋ ์๋ |
| 308 Permanent Redirect | ๋ฉ์๋์ ๋ณธ๋ฌธ ์ ์ง |
์ผ์ ๋ฆฌ๋ค์ด๋ ์
url์ด ์ผ์์ ์ผ๋ก ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ
| 302 Found | ๋ฉ์๋ ๋ณ๊ฒฝ(get) |
| 303 See Other | ๋ฉ์๋ ๋ณ๊ฒฝ(get) |
| 307 Temporary Redirect | ๋ฉ์๋์ ๋ณธ๋ฌธ ์ ์ง |
๐ก URL์ด ์ผ์์ ์ผ๋ก ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ ์์
-- PRG ํจํด : ๊ฒ์๊ธ ์์ฑ(Post) โ ์๋ต(Redirect) โ ๋ฆฌ๋ค์ด๋ ํธ ์์ฒญ(Get)
-- ์ด ํจํด์ด ์์ผ๋ฉด ์๋ก๊ณ ์นจ์ ํ ๋๋ง๋ค ์์ฒญ์ด ์ค๋ณต ์ฒ๋ฆฌ(post๋ ๋ฉฑ๋ฑ์ฑ์ด ์์ผ๋ฏ๋ก)
-- ์ ์ฉํ๋ฉด ์๋ก๊ณ ์นจ ํ ๋ get ์์ฒญ์ ํ๋ค
๊ธฐํ ๋ฆฌ๋ค์ด๋ ์
์บ์๋ฅผ ํ์ฉํ ๊ฒ์ธ์ง์ ๋ํ ์ฌ๋ถ
| 304 Not Modified | ์บ์ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ, ๋ฆฌ์์ค๊ฐ ์์ ๋์ง ์์๋ค -> ํด๋ผ์ด์ธํธ๊ฐ ์บ์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋๋ก ์ ๋ |
๐ ์๋ชป๋ ๋ฌธ๋ฒ ๋ฑ์ผ๋ก ์๋ฒ๊ฐ ์์ฒญ ์ํ ๋ถ๊ฐ (์ฌ์๋ ํด๋ดค์ ์คํจ)
| ๋ํ์ฝ๋ | |
|---|---|
| 400 Bad Request | ์์ฒญ ๋ด์ฉ์ ์์ ํด์ผํ๋ค |
| 401 Unauthorized | ๋ฆฌ์์ค์ ๋ํ ์ธ์ฆ์ด ํ์ํ๋ค (๋ก๊ทธ์ธ๊ฐ์) |
| 403 Forbidden | ์น์ธ ๊ฑฐ๋ถ, ์ฃผ๋ก ์ธ๊ฐ ๋ฌธ์ (๊ถํ ์์) |
| 404 Not Found | ์์ฒญ ๋ฆฌ์์ค๊ฐ ์๋ฒ์ ์๋ค |
๐ก ๋ถ๊ฐ์ ์ธ ์ ๋ณด ์ ๋ฌ์ ์ฐ์ (Message Body ๋ด์ฉ, ํฌ๊ธฐ, ์ธ์ฆ, ๋ธ๋ผ์ฐ์ ์ ๋ณด, ์๋ฒ ์ ๋ณด ๋ฑ)
field-name: OWS field-value OWS (OWS : ๋์ด์ฐ๊ธฐ ํ์ฉ)field-name์ ๋์๋ฌธ์ ๊ตฌ๋ถ์ ํ์ง ์๋๋ค.๐๋ฆฌ์์ค์ ๋ํ ํํ ์ ๋ณด (์ฐ๋ฆฌ ๋ฐ์ดํฐ๋ ์ด๋ฐ ํ์์ด์์ ~)
๐ ์์ฒญ๊ณผ ์๋ต์์ ๋ชจ๋ ์ฌ์ฉ
Content-Type : ํ์Content-Encoding : ์์ถ ๋ฐฉ์Content-Language : ์ธ์ดContent-Length : ๊ธธ์ด๐ ํด๋ผ์ด์ธํธ๊ฐ ์ ํธํ๋ ํํ์ ์์ฒญ
๐ ์ฐ์ ์์๊ฐ ์กด์ฌ (1์ ๊ฐ๊น์ธ ์๋ก ์ฐ์ ์์ ๋๋ค, 1์ธ๊ฒฝ์ฐ ์ซ์ ์๋ต ๊ฐ๋ฅ)
Accept : ์ ํธํ๋ ๋ฏธ๋์ด ํ์
Accept-Charset : ์ ํธํ๋ ๋ฌธ์ ์ธ์ฝ๋ฉAccept-Encoding : ์ ํธํ๋ ์์ถ ์ธ์ฝ๋ฉAccept-Language : ์ ํธํ๋ ์ธ์ดFrom : ํด๋ผ์ด์ธํธ ์ด๋ฉ์ผ ์ ๋ณด - ์ ์ฌ์ฉ ์ํจ Referer : ํ์ฌ ์์ฒญ๋ ํ์ด์ง์ ์ด์ ์น ํ์ด์ง ์ฃผ์ - ์ ์
๊ฒฝ๋ก ํ์
๊ฐ๋ฅUser-Agent : ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ณด(PC, Mobile)- ์ด๋ค ํ๊ฒฝ์์ ์ฃผ๋ก ์ ์ํ๋์ง ํต๊ณServer : ์์ฒญ์ ์ฒ๋ฆฌํ๋ ORIGIN ์๋ฒ์ Software ์ ๋ณดDate : HTTP ์์ฒญ์ด ๋ฐ์ํ ๋ ์ง์ ์๊ฐHost : ์์ฒญํ ๋๋ฉ์ธ ์ ๋ณด (ํ์)
Location : ์์ฑ๋ ๋ฆฌ์์ค URI, ๋ฆฌ๋ค์ด๋ ํธ ์ฃผ์
Allow : ํ์ฉ ๊ฐ๋ฅํ HTTP Method
Retry-After : ๋ค์ ์์ฒญ๊น์ง ๋๊ธฐ ํด์ผํ๋ ์๊ฐ
Authorization : ํด๋ผ์ด์ธํธ ์ธ์ฆ ์ ๋ณด
WWW-Authenticate : ๋ฆฌ์์ค์ ํ์ํ ์ธ์ฆ ๋ฐฉ๋ฒ
๐ Cookie๋ฅผ ์ฌ์ฉํด ์์ฒญ๋ง๋ค ์ํ๋ฅผ ์ ๋ฌํ๋ค (์ธ์ ๊ด๋ฆฌ๋ ๊ด๊ณ ํธ๋ํน์ ์ฃผ๋ก ์ฌ์ฉ)
Set-Cookie : ์๋ฒ์์ ์๋ต์ ํด๋ผ์ด์ธํธ๋ก Cookie ๊ฐ ์ ๋ฌ
Cookie : ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์์ ๋ฐ์ ์ฟ ํค๋ฅผ Cookie ํค๋๋ฅผ ํตํด ์ ์กํ๋ค.
Secure : ํด๋น ํค๋๊ฐ ์ ์ฉ๋๋ฉด https์ธ ๊ฒฝ์ฐ์๋ง ์ฟ ํค๋ฅผ ์ ์กํ๋ค.
HttpOnly : http ์ ์ก์๋ง ์ฌ์ฉํ๋ค.
SameSite : ์ฟ ํค์ ์ค์ ๋ ๋๋ฉ์ธ์ด ๊ฐ์ ๊ฒฝ์ฐ๋ง ์ฟ ํค๋ฅผ ์ ์กํ๋ค.
Cache-Control : ์๋ต์ ์ฌ์ฉ
Cache-Control: max-ageCache-Control: no-cacheCache-Control: no-storeif-modified-since : ์บ์๋ก ์ ์ฅ๋ ๋ฐ์ดํฐ ์ต์ข
์์ ์ผ
Last-Modified : ๋ฐ์ดํฐ๊ฐ ๋ง์ง๋ง์ผ๋ก ์์ ๋ ์๊ฐ
ETag : ์บ์์ฉ ๋ฐ์ดํฐ์ ๋ ์ง, ์๊ฐ์ด ์๋ ์ด๋ฆ์ ์ง์
๐ก REST๋ฅผ ์ ์ค์ํ๋ API , HTTP API๋ฅผ ์ ์ค๊ณํ๋ ๊ท์น
๐ Maturity Model (์ฑ์๋ ๋ชจ๋ธ)
REST์ ์ ์ฝ ์กฐ๊ฑด์ ๋ฐ๋ผ API๋ฅผ ๋ฑ๊ธํํ๋ ๋ฐฉ๋ฒ
level 0 - URL๋ง ๋ง๋ฆ
level 1 - ์๋ฏธ์๋ URL, but http ๋ฉ์๋ ์ฌ์ฉ ๋ถ์ ์
level 2 (์ต์ ๊ถ์ฅ ๋ ๋ฒจ) - crud์ ๋งค์นญ๋๋ ๋ฉ์๋๋ฅผ ์ด์ฉํ๋๊ฒ
level 3 - ์ด๋ค ์์ ์ ํ ์ ์๋์ง ์ํ์ ๋ณด๋ฅผ ํจ๊ป ๋๊ฒจ์ค๋ค
๐ก HTTP ๊ธฐ๋ฐ์ผ๋ก ๋์, ์ ์ ๋ฆฌ์์ค ์ ๊ณต
*์ ์ ๋ฆฌ์์ค : ์ด๋ฏธ ์์ฑ๋ ์ฑ๋ก ์๋ฒ์ ์กด์ฌํ๋ ๋ฆฌ์์ค, ์๋ณธ ๊ทธ๋๋ก ๋๋ตํ๋ ๋ฐ์ดํฐ
๐ก HTTP ๊ธฐ๋ฐ์ผ๋ก ๋์, ์น์๋ฒ์ ๊ธฐ๋ฅ์ ํฌํจ
(์ถ๊ฐ์ ์ผ๋ก ์ฝ๋๋ฅผ ์คํ โ ๋ก์ง ์ํ โ ๋ฐ์ดํฐ์ ์ํธ์์ฉ ํ(CRUD) ๋์ ์ปจํ ์ธ ์์ฑ)
Tomcat - spring boot์ ๋ด์ฅ๋์ด์๋คโ๏ธ Web Server ๐ WAS
- ์ค์ ๋ก๋ ์น์๋ฒ์์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง์ ํฌํจํ ์๋ ์๋ค
- ์์ค๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ ์คํํ๋๋ฐ ๋์ฑ ํนํ๋์ด ์๋ค
- ์๋ฐ์์๋ Servlet Container ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉด ์์ค์ด๋ค
(WAS ์์ ๋ก์ง ์ ์ ๋ฆฌ์์ค ๋ค ๋ฃ๊ณ ์ฐ๊ธฐ)
1๏ธโฃ WAS๊ฐ ๋๋ฌด ๋ง์ ์ญํ ์ ํ๊ฒ๋๋ค -> ์๋ฒ ๊ณผ๋ถํ
2๏ธโฃ WAS์์๋ ์ ํ๋ฆฌ์ผ์ด์
๋ก์ง์ด ๊ฐ์ฅ ์ค์ํ๋ฐ ์ ์ ๋ฆฌ์์ค ๋๋ฌธ์ ๋ก์ง ์ํ ๋ถ๊ฐํ ์๋
3๏ธโฃ WAS์ ์ฅ์ ๊ฐ ์๊ธฐ๋ฉด ํ๋ฉด ์ถ๋ ฅ ๋ถ๊ฐ (+ ํด๋ผ์ด์ธํธ์๊ฒ ์ค๋ฅ์์ ์๋ตํ ์ ์๋ค)
๐ ์๋ ์๋ฒ์์ ๋ฐ์ดํฐ ์ฒ๋ฆฌํ๋ ๊ณผ์
1. ์๋ฒ์ TCP/IP ์ฐ๊ฒฐ 2. HTTP Request Message ํ์ํ ํํ๋ก ๋ณํํ์ฌ ์ฝ๊ธฐ 1. HTTP Method ๋ฐ URL ๋ถ์ 2. HTTP Header ๋ถ์ 3. HTTP Message Body ์ฝ๊ธฐ ๋ฐ ๋ณํ 3. ๋ถ์ํ ๊ฒฐ๊ณผ๋ฅผ ํตํด ํ๋ก์ธ์ค ์คํ ๐4. ๋น์ง๋์ค ๋ก์ง ์คํ 5. HTTP Response Message ์์ฑ 1. HTTP Start Line ์์ฑ 2. Header ์์ฑ 3. HTTP Message Body์ ์๋ต ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ ํ์์ ๋ง์ถฐ ์๋ต 4. ์ฒ๋ฆฌ๊ฐ ๋ถ๊ฐํ๋ค๋ฉด ์์ธ์ฒ๋ฆฌ 6. ์๋ต ์ ๋ฌ 7. ์ฐ๊ฒฐ ์ข ๋ฃ๐ Servlet์ด 4๋ฒ๋นผ๊ณ ๋คํด์ค, ๊ฐ๋ฐ์๋ ๊ฐ๋ฐ๋ง ํ๋ฉด๋๋ค
Servlet์ ์ง์ํ๋ WAS ๋ด๋ถ์ ์กด์ฌํ๋ค
๐กServlet์ ์ด๊ธฐํ, ์์ฑ, ๊ด๋ฆฌ, ํธ์ถ, ์ข ๋ฃํ๋ ์ญํ ์ ์ํํ๋ค
์๋ช
์ฃผ๊ธฐ
๊ฐ๋ฐ์๊ฐ ์ง์ ๊ฐ์ฒดํ ์ํด๋, ์ฝ๋๋ง ์์ฑํ๋ฉด ์์์ ์ปจํ
์ด๋๊ฐ ์์์ Servlet์ ์์ฑํ๋ค
WAS๊ฐ ์ข
๋ฃ๋ ๋ Servlet๋ ํจ๊ป ์ข
๋ฃ
Servlet Container๊ฐ ํ๋์ผ
Servlet์ ์์ฑ, ๊ด๋ฆฌ, ํธ์ถ, ์ข
๋ฃํ๋ ์ญํ - ์ฑ๊ธํค์ผ๋ก ๊ด๋ฆฌ
๋์ ์์ฒญ ์ฒ๋ฆฌ๋ฅผ ์ํด ๋ฉํฐ ์ค๋ ๋๋ฅผ ์ง์
*์ฑ๊ธํค? ๊ฐ์ฒด๋ฅผ ํ๋๋ง ์์ฑํ์ฌ ์์ฑ๋ ์ธ์คํด์ค๋ฅผ ๊ณต์ ํ๋ฉฐ ์ฌ์ฉํ๋๊ฒ
์ฝ๋๋ฅผ ํ๋ํ๋ ์์ฐจ์ ์ผ๋ก ์คํํ๋ ๊ฒ
ํ๋ฒ์ ํ๋๋ง ๊ฐ๋ฅํ๊ธฐ์ ๋์์ ์ฌ๋ฌ๊ฐ๋ฅผ ์ฒ๋ฆฌํ๋ ค๋ฉด Thread๋ฅผ ์ถ๊ฐ ์์ฑํด์ผํ๋ค
๐ก ์ฌ๋ฌ๊ฐ์ ์ค๋๋๋ฅผ ๋ง๋ค์! WAS๋ ๋ฉํฐ์ค๋ ๋๋ฅผ ์ง์ํ๋ค
context switching ๋น์ฉ์ด ๋ฐ์ํ๋ค*context switching ?
์๋์ฐ์ ์์
๊ด๋ฆฌ์ - ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค(์์ฐจ์ ์ผ๋ก ์คํ๋๋ ๊ฒ)
1๋ฒ ํ๋ก๊ทธ๋จ์ ์คํํ๋ค 2๋ฒ์ผ๋ก ์ค์์นญ ํ ๋ ์ด ์ฌ์ด์ ์๊ธฐ๋ ๊ฒ !
๐ ๋ฏธ๋ฆฌ Thread๋ฅผ ์ฌ๋ฌ๊ฐ ๋ง๋ค์ด ๋๊ณ ์์ฒญ์ด ๋ฐ์ํ ๋ ์ฌ์ฉ, ์์ฒญ ์ข ๋ฃ์ ๋ฐ๋ฉ
๐ก ์ ๋ฆฌํ๊ธฐ
1๏ธโฃ WAS๋ Multi Thread๋ฅผ ์ง์
- ๊ฐ๋ฐ์๋ ๋ฉํฐ์ค๋ ๋ ๊ด๋ จ์ฝ๋ ๊ณ ๋ คํ์ง ์์๋๋๋ค
- ๋ฉํฐ ์ค๋ ๋ ํ๊ฒฝ์์๋ ์ฑ๊ธํค ๊ฐ์ฒด ์ฌ์ฉ โ ๊ณต์ ๋ณ์ ์กฐ์ฌ
2๏ธโฃ Thread Pool
์์ฑ๊ฐ๋ฅํ ์ค๋ ๋์ ์ต๋๊ฐฏ์๋ฅผ ๊ด๋ฆฌ (tomcat? ๊ธฐ๋ณธ 200๊ฐ ์ค์ , ๊ฐฏ์ ๋ณ๊ฒฝ๊ฐ๋ฅ)
์ฅ์
- ์์ฒญ๋ง๋ค ์์ฑํ๋ ๋จ์ ๋ณด์
- ๋ฏธ๋ฆฌ Thread๋ฅผ ์์ฑํด๋์๊ธฐ ๋๋ฌธ์ ์์ฑํ๊ฑฐ๋ ์ข ๋ฃํ๋ ๋น์ฉ ์ ์ฝ + ์๋ต์ด ๋น ๋ฅด๋ค
- Thread์ ์ต๋๊ฐฏ์๊ฐ ์ ํ๋์ด ์๊ธฐ๋๋ฌธ์ ์ด๊ณผ ์์ฒญ์ด ์๋ ์์ ํ๊ฒ ์ฒ๋ฆฌ๋จ์
- ์ต๋ Thread ์๋ฅผ ๋๋ฌด ๋ฎ๊ฒ ํ๋ค๋ฉด ์๋ต ์ง์ฐ
- ์ต๋ Thread ์๊ฐ ๋์ผ๋ฉด ์์ฒญ ์ฆ๊ฐ์ ๋ฆฌ์์ค ๋ถ์กฑ์ผ๋ก ์๋ฒ ๋ค์ด
๐ก ์๋ฒ์์ ํ๋ฉด์ ๊ทธ๋ ค์ค๋ค! ๋์ ์ผ๋ก html์ ๋ง๋ค์ด์ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๊ณตํ๋ ๊ธฐ์
*Java์์ ๋ํ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๊ฒ : JSP, Thymeleaf

SEO์ ์ ๋ฆฌ *SEO?
๊ฒ์ ์์ง์์ ์์ ๋
ธ์ถ๋ ์์๋๋ก ์ต์ ํํ๋ ๊ณผ์
๐ก ํด๋ผ์ด์ธํธ๊ฐ ํ๋ฉด์ ๊ทธ๋ฆฐ๋ค! ์๋ฐ์คํฌ๋ฆฝํธ๋ก html์ ์์ฑ

SEO์ ๋ถ๋ฆฌ