이 문서는 지속적으로 수정됩니다!
HTTP를 먼저 공부한다면 재미없고 거의 대부분 이해하기가 힘들것이다. 내 생각에는 실제로 웹 서버/페이지와 같은 애플리케이션을 개발하면서 HTTP가 가까이 있는것 처럼 느껴질때 알아보는것이 적절한 시기라고 생각한다. 혹은 그 떄가 오기전 MDN의 HTTP 문서정도는 미리 읽어본다면 좋을 것이다.
HTTP의 A부터 Z까지 알 수 있다.
반드시 알자!
- HTTP/1.1의 이해
- 1을 이해하고 HTTP/3.0 까지 어떻게 변화했는지
- 메시지 - 개발자가 HTTP 메세지를 온전히 작성하는 경우는 거의 없음 API나 다른 인터페이스가 대신 작성해준다.
- 헤더 - 본인의 개발에 필요한 헤더들, 빈번하게 사용되는 헤더들 부터 알자.
- 메서드 - GET, POST, PUT….
- Cross-Origin Resource Sharing (CORS)
- 쿠키
- 리다이렉트
- 응답 상태 코드 - 달달 외울 필요는 없다. 필요한 것부터 알면 된다.
필요한 때가되면 알자
- 보안 - CSP, HSTS, X-Content-Type-Options 등…
- 인증 - Authorization 관련 HTTP 헤더
- 캐싱 - Cache 관련 헤더
- 압축 - 실제 웹 개발자들은 압축 메커니즘을 구현할 필요는 없고, 브라우저와 서버가 그것들을 이미 구현하고 있다. 압축이 잘 되고 있는지만 확인해 보면 된다.
추가적으로 알면 좋은것
- 조건부 요청, 범위 요청 - 캐싱 및 다운로드, 대형 미디어(스트리밍)과 같은 것을 구현할때
- 컨텐츠 협상 - 특별히 뭘 작성하지 않아도 RESTful API등을 사용하면 JSON으로 응답이 오는 이유를 알 수 있다.
더 이상 알 필요 없음
- HTTP/1.1 에서의 파이프라이닝 (HTTP/2 에서는 멀티플렉싱으로 대체)
- 도메인 샤딩 - Deprecated, HTTP/2 연결은 우선 순위가 없는 병렬 요청을 알아서 잘 처리한다.
아래는 추가적으로 HTTP를 아는데 도움이 될만한 문서들이다. 이후 추가 될수 있음😊