해당 강의를 들으며 간단 정리하며 공부한 글입니다.
캐시가 없을 때
캐시 적용
캐시 시간 초과
검사 네트워크탭에서 상태코드 회색 처리 -> 캐시에서 불러온 것
200 OK (from memory cache)
검증 헤더
조건부 요청 헤더
ETag, If-None-Match
정리
캐시 제어 헤더
프록시란?
프록시(Proxy)는 클라이언트와 서버 사이에 중계 역할을 하는 서버 또는 소프트웨어를 의미.용도
익명성 유지: 사용자가 직접 서버에 접속하는 대신 프록시 서버를 통해 접속함으로써 IP 주소를 숨길 수 있습니다. 이를 통해 익명성을 유지하거나 위치 기반의 제한을 우회할 수 있습니다.캐싱: 프록시 서버는 자주 요청되는 웹 페이지나 데이터를 캐시에 저장하여, 같은 데이터를 여러 번 요청할 때 서버 부하를 줄이고 응답 속도를 높일 수 있습니다.
보안 강화: 프록시 서버는 방화벽과 함께 사용되어 내부 네트워크를 외부 공격으로부터 보호할 수 있습니다. 또한, 악성 웹사이트에 접속을 차단할 수 있는 기능을 제공합니다.
콘텐츠 필터링: 프록시 서버를 통해 특정 웹사이트나 콘텐츠에 대한 접근을 차단할 수 있습니다. 이는 기업에서 직원들이 업무 시간에 특정 사이트에 접속하지 못하게 하거나, 학교에서 학생들이 부적절한 콘텐츠에 접근하지 못하게 할 때 사용됩니다.
로드 밸런싱: 여러 서버에 트래픽을 분산시켜 서버의 부하를 균등하게 나눔으로써 서비스 가용성을 높이는 데 사용됩니다.
유형
HTTP 프록시: 웹 브라우징과 관련된 트래픽을 중계합니다. 웹 페이지 로딩 속도를 개선하거나, IP를 숨기기 위해 주로 사용됩니다.
SOCKS 프록시: 더 낮은 수준의 프록시로, TCP 트래픽을 처리하며, HTTP 외에도 다양한 프로토콜을 지원합니다. 주로 P2P 트래픽이나 게임 트래픽에 사용됩니다.
SSL 프록시 (HTTPS 프록시): SSL/TLS 암호화된 트래픽을 중계합니다. 보안이 중요한 데이터 전송에 사용됩니다.
리버스 프록시: 외부의 요청을 내부 서버로 전달하여, 서버의 IP 주소를 숨기고, 로드 밸런싱 및 보안을 강화합니다. 주로 웹 서버 앞에 배치되어 사용됩니다.
프록시는 다양한 네트워크 환경에서 중요한 역할을 하며, 보안, 성능, 익명성 등 여러 측면에서 큰 이점을 제공.
Cache-Control
확실한 캐시 무효화 응답
Cache-Control: no-cache
Cache-Control: must-revalidate
어떤 개발자이든 HTTP는 사용할 것이다. 협업 프로젝트를 하면서 '500은 서버 에러고, 무슨 상태 코드는 무슨 뜻이고, 부분 업데이트는 patch, 네트워크 탭에서 헤더, 바디 까보면 이런게 나오고 ~' 하는 것들을 자연스럽게 배운 상태였다.
강의를 들으면서 크게 생소했던 부분은 없어서 '직접 경험으로 알게된 HTTP 지식이 생각보다 많았다'고 느꼈고 강의를 통해 이를 한 번 전체적으로 정리하며 듣기 좋았다. 또 궁금했던 몇가지 부분도 강의를 통해 해결할 수 있었다.
HTTP에 대해 잘 모르는 사람도 듣기 좋은 강의라고 생각하고 직접 HTTP 네트워크 탭을 까보면서 공부하면 더 재밌게 들을 수 있는 강의다. 한 강의당 짧아서 다시 듣기도 좋다.
김영한님 강의가 워낙 유명해서 궁금했는데 어떤 개념을 최대한 알기 쉽게 설명해주시는 모습이 인상깊었다. 아예 그 개념을 모르는 사람도 이해할 수 있게 비유, 예시를 들어 설명하고 전체적으로 큰 그림을 그리며 배운 지식들을 서로 연결할 수 있게 하는 것이 학습에 중요하다고 느꼈다.