HTTP와 HTTPS의 차이점
- 주소창에 `http://`라고 시작하면 그것은 HTTP, `https://`로 시작하면 HTTPS 또는 SSL을 이용하고 있는 것
- HTTPS의 S는 "secure"의 약자로 "안전한"이라는 뜻
- HTTP가 세상에 처음 나왔을 때 세상은 그렇게 위험하지 않았음
-- 사람들은 웹을 통해서 심각한 정보를 다루지 않았음
-- 그로부터 30년이 지난 지금 우리는 웹을 통해서 군사, 금융, 사생활과 같은 정보를 다룸
-- HTTP를 통해서 통신을 하고 있다면 누군가 여러분의 정보를 보고 있는 것로 간주해야 함
- 하지만 HTTPS를 사용하면 전송하고 있는 내용을 가로챈다고 하더라도 실제로 그 안에 무슨 내용이 담겨 있는지는 당사자들만 알 수 있음
-- 암호화되어 있기 때문
- 여러분이 웹에 대한 소비자라면 HTTPS가 아닌 사이트에서 만약에 로그인을 요구한다면 그 사이트를 이용하지 말아야 함
- 여러분이 서비스를 만드는 생산자라면 운영하고 있는 사이트가 중요한 정보를 사용자와 주고받고 있다면 HTTPS를 꼭 도입해야 함
Cache
- 저장한다는 뜻
- 한 번 웹사이트에 접속해서 어떠한 내용을 다운로드 받았다면 그 다음에 접속할 때 또 다운로드 받을 필요 없이 이미 다운로드 받은 저장된 파일을 읽어서 성능을 향상시키는 기법
- 풀기 어려운 문제 : 내용이 갱신되었을 때에도 웹 브라우저는 그 사실을 알아채지 못하게 된다는 것
-- 이런 경우에 웹 브라우저에서
--- Windows : Ctrl + F5
--- MacOS : Cmd + R
--- Linux : F5
를 누르면 강제로 캐시가 갱신됨
-- 하지만 캐시가 갱신되었다는 것을 일반 사용자들은 알 수 없음
--- 이런 문제를 해결하기 위한 여러 테크닉들
---- cache-control, pragma 이러한 헤더 값들은 바로 캐시를 제어하는 테크닉
---- 비교적 최신 기술인 애플리케이션 캐시와 같은 것들도 이러한 목적으로 고안된 기술
- 성능 향상에 관심이 간다면 캐시를 살펴보기
Cookie
- 개인화
- 쇼핑몰 사이트에서 장바구니 이용
- 로그인을 하면 그 다음에 접속할 때에는 로그인 상태가 유지
-- 웹사이트를 방문할 때 이전에 처리했던 장바구니 담기, 로그인과 같은 기록들을 웹사이트와 웹 브라우저가 기억하고 있기 때문
- 이것을 가능하게 해주는 기술 : 쿠키
- 쿠키를 이용해서 쿠키 값을 웹 브라우저에 설정하면 접속할 때마다 그 설정됐던 쿠키 값을 서버에 전송하는 것을 통해서 사용자의 상태를 유지할 수 있고 사용자를 식별할 수 있음
- 최근에는 쿠키보다도 훨씬 더 많은 정보를 저장하면서도 보안적으로 더 우수한 web storage라는 기술이 등장
Proxy
- 웹 브라우저와 웹 서버 사이에 프록시라고 불리는 이름의 중개 서버를 둘 수 있음
- 중간에 있는 서버가 캐시를 대신해 주거나, 보안과 관련된 공격을 막아 주거나, 적당히 사용자 요청을 여러 대의 서비스로 분산해주는 것과 같은 역할을 프록시 서버들이 대신해줄 수 있음
- 그 외에도 엄청나게 많은 일을 할 수 있음
- 여러분의 서비스가 복잡해지고 중요해지고 있다면 프록시 서버라고 불리는 기술을 알아보기
네트워크 모니터링하는 도구들
- 가장 간편한 도구 : 웹 브라우저의 개발자 도구에 포함되어 있는 Network 모니터링 기능 (DevTools > Network)
-- 매우 사용하기 쉽기 때문에 우선적으로 사용해볼만한 도구
- 오픈 소스이고 무료이면서 가장 강력한 기능을 가진 도구 : Wireshark
-- HTTP 뿐만 아니라 컴퓨터에서 일어나는 모든 네트워크 트래픽을 감시할 수 있는 강력한 도구
-- 배우기 어렵고 복잡함
HTTP 완료했습니다!
HTML,CSS,javascript를 배워 프로젝트 진행하면서 프론트엔드 개발하면서도
내가 작성한 코드가 어떤 원리로 브라우저에 나타나는지 애매모호하게만 알고 있었는데, 이 강의를 보고 시야가 확 넓어진 느낌이에요! 아직 갈 길이 멀긴 하지만요...ㅎㅎ
마지막에 제시해주신 가이드라인도 앞으로 제가 웹을 어떤 방향으로 공부해야할지 제시해주시는 느낌이었어요
정말정말 감사합니다^^