๋ชจ๋ ์น์ฌ์ดํธ์์๋ HTTP ํค๋๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ํค๋๋ผ์ธ ์ฃผ์ ์ ๊ดํ ๋ง์ ๊ธฐ์ฌ๊ฐ ์์ฑ๋์์ต๋๋ค. ๊ทธ๋์ ์ถ์ ๋ ๊ฒฝํ๊ณผ RFC ๋ฌธ์๋ฅผ ์ ๋ฆฌํ์ต๋๋ค. ์ ๋ชฉ ์ค ์ผ๋ถ๋ ํ์์ด๊ณ ์ผ๋ถ๋ ์ค๋๋์์ผ๋ฉฐ ์ผ๋ถ๋ ํผ๋๊ณผ ๋ชจ์์ ์ผ์ผํฌ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ฐฐ๊ผฝ ๊ฐ๋ฐฉ์ ๋ง๋ค์์ต๋๋ค
- ํ์ค ํค๋์ ๊ฐ์ ์ค์ ํฉ๋๋ค.
- ๋๋ง์ ๋ง์ถค ํค๋๋ฅผ ์ถ๊ฐํ์ธ์.
- HTTP ํ๋กํ ์ฝ ๋ฒ์ ์ 1.0, 1.1, 2๋ก ์ง์ ํฉ๋๋ค(HTTP/2 ์ง์ ์ฌ๋ถ ํ์ธ).
- ์๋ฒ๋ก ์ ์ก๋ ์์ฒญ ๋ฐฉ๋ฒ, ์๊ฐ ์ด๊ณผ ๋ฐ ์ฌํ ๋ฐ์ดํฐ๋ฅผ ์ง์ ํฉ๋๋ค.
- ๋ํ beanbag์ ์๋ฒ ์๋ต์ Last-Modified ๋๋ ETag๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ If-Modified-Since, If-None-Match ์์ฒญ์ ๋ํ ์๋ต์ ์ ํ์ฑ์ ํ์ธํฉ๋๋ค.
์ฐ๋ฆฌ๋ ๊ถ๊ทน์ ์ธ ์ง์ค์ธ ์ฒํ์ง ์์ต๋๋ค. ๋ฌผ๋ก ๊ฐ๋ณ ์ฝํ
์ธ ์ ๊ฐ๋ณ ํ๋ก์ ํธ์ ๋ฐ๋ผ ์ฐจ์ด๊ฐ ์์ ์ ์์ต๋๋ค. ํ์ง๋ง ์ด ์๋น์ค๋ ๊ทํ๊ฐ ์ฃผ์ํด์ผ ํ ์ฌํญ์ ์ ํํ๊ฒ ์๋ ค ์ฃผ๋ฉฐ ์ ๋ชฉ์ ํธ์งํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค. ์๋๋ ๊ฒ์ฆ ์๋น์ค๊ฐ ์ฃผ๋ชฉํ๋ ์ฌํญ์ ๋ชฉ๋ก์
๋๋ค. ์ ๊ทธ๋ ์ต๋๊น?
ํ์ ํค๋
- ๋ ์ง
- ํ ์คํธ ์ฝํ ์ธ ์ ๋ฌธ์ ์ธํธ๋ฅผ ๋ํ๋ด๋ Content-Type(UTF-8 ๊ถ์ฅ)
- ํ ์คํธ ์ฝํ ์ธ ์ ๋ํ ์ฝํ ์ธ ์ธ์ฝ๋ฉ ์์ถ
์ค๋๋๊ณ ๋ถํ์ํ ํค๋
- ์์ธํ ์น ์๋ฒ ๋ฒ์ ์ด ์๋ ์๋ฒ
- X-Power-By
- X_ASPNET ๋ฒ์
- ๋ง๋ฃ
- ํ๋ผ๊ทธ๋ง
- P3P
- ํตํ๋ค
- X-UA ํธํ
๋ณด์์ ์ํด ๋ฐ๋์งํ ํค๋
- X-์ฝํ ์ธ ์ ํ-์ต์
- X-XSS-๋ณดํธ
- ์๊ฒฉํ ์ด์ก ๋ณด์
- ์ถ์ฒ์ธ ์ ์ฑ
- ๊ธฐ๋ฅ ์ ์ฑ
- ์ธ๋ผ์ธ ์คํฌ๋ฆฝํธ ๋ฐ ์คํ์ผ์ ๋นํ์ฑํํ๋ ค๋ฉด Content-Security-Policy ๋๋ Content-Security-Policy-Report-Only๋ฅผ ์ฌ์ฉํ์ธ์.
์บ์ฑ์ฉ ํค๋
์บ์ ์๋ช ์ด ๊ธด ์ ์ ์ฝํ ์ธ ์ ๊ฒฝ์ฐ ํ์์ด๋ฉฐ, ์บ์ ์๋ช ์ด ์งง์ ๋์ ์ฝํ ์ธ ์ ๊ฒฝ์ฐ ๋งค์ฐ ๋ฐ๋์งํฉ๋๋ค.
- ๋ง์ง๋ง ์์
- Eํ๊ทธ
- ์บ์ ์ ์ด
- ๋ค๋ฅด๋ค
- ์๋ฒ๊ฐ ํค๋์ธ If-Modified-Since ๋ฐ If-None-Match์ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ตํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
HTTP / 2
์ด์ ์๋ฒ๋ HTTP/2๋ฅผ ์ง์ํด์ผ ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์๋น์ค๋ HTTP/2๋ฅผ ํตํด ์๋ฒ์ ์๋์ ํ์ธํฉ๋๋ค. ์๋ฒ๊ฐ HTTP/2๋ฅผ ์ง์ํ์ง ์์ผ๋ฉด HTTP/1.1์ ์ ํํ์ญ์์ค.
์ถ์ฒ : habr.com