23.05.01 (월) / CS
1. 브라우저 주소창에 www.google.com을 입력하면 어떤 일이 일어날까?
1. 사용자가 웹 브라우저 주소창에 www.google.com을 입력한다.
2. 웹 브라우저는 캐싱된 DNS 기록들을 통해 해당 도메인 주소와 대응하는 IP 주소를 찾는다. 만약, 캐싱된 기록이 없을 경우 3번으로 넘어간다.
3. 웹 브라우저가 HTTP를 사용하여 DNS에게 입력된 도메인 주소를 요청한다.
4. DNS가 웹 브라우저에게 사용자가 찾는 사이트의 IP 주소를 응답한다.
5. 웹 브라우저가 웹 서버에게 IP 주소를 이용하여 HTML 문서를 요청한다.
6. 웹 어플리케이션 서버(WAS)와 데이터베이스에서 우선 웹페이지 작업을 처리한다. 이유는? 웹 서버 혼자서 모든 로직을 수행할 경우 서버 과부하가 일어날 수 있다. 그렇기 때문에 조력자 역할을 하는 WAS가 먼저 요청을 받으면 동적인 페이지 처리를 담당하고, 이후 DB에서 필요한 데이터를 받아 파일을 생성한다.
7. 작업 처리의 결과를 웹서버로 전송한다.
8. 웹 서버는 웹 브라우저에게 HTML 문서 결과를 응답한다. response는 status code로 서버 요청에 따른 상태를 보낸다.
- 1XX : 정보만 담긴 메시지
- 2XX : response 성공
- 3XX : 클라이언트를 다른 URL로 리다이렉트
- 4XX : 클라이언트 측에서 에러가 발생
- 5XX : 서버 측에서 에러가 발생
9. 웹 브라우저는 화면에 웹페이지 컨텐츠들을 출력한다.
쿠키, 세션
쿠키란?
- HTTP의 일종으로 사용자가 어떠한 웹 사이트를 방문할 경우, 그 사이트가 사용하고 있는 서버에서 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일이다.
- HTTP에서 클라이언트의 상태 정보를 클라이언트의 PC에 저장하였다가 필요시 정보를 참조하거나 재사용할 수 있다.
세션이란?
- HTTP 세션이란 클라이이언트가 웹서버에 연결된 순간부터 웹 브라우저를 닫아 서버와의 HTTP 통신을 끝낼 때 까지의 기간 이다.
- 하지만 보통 세션이라고 말할 때에는 서버에 세션에 대한 정보(세션 상태, 클라이언트 상태, 세션 데이터 등)를 저장해 놓고 세션 쿠키(고유한 세션 ID 값)를 클라이언트에게 주어 서버가 클라이언트를 식별할 수 있도록 하는 방식자체를 의미하는 경우가 많다.
그렇다면 쿠키와 세션의 차이는?
1. 저장 위치
- 쿠키 : 클라이언트에 파일로 저장되어 있다.
- 세션 : 서버에 저장되어 있다.
2. 보안
- 쿠키: 클라이언트의 브라우저 로컬에 저장되기 때문에 변질되거나 HTTP request 요청 시에 이를 갈취당할 수 있어서 보안에 취약하다
- 세션: 쿠키를 이용해서 세션id만 저장하고 그것으로 구분해서 서버에서 처리하기 때문에 비교적으로 안전하다.
3. 라이프 사이클
- 쿠키: 만료시간은 있지만 파일로 저장되기 때문에 브라우저를 종료해도 계속해서 정보가 남아있다. 만료기간에 따라 상대적으로 넉넉하게 쿠키를 삭제할 때까지 유지된다
- 세션: 만료기간을 정할 수는 있지만 브라우저가 종료되면 그에 상관없이 삭제된다
4. 속도
- 쿠키: 쿠키에 정보가 있기 때문에 서버에 요청시 속도가 빠르다
- 세션: 정보가 서버에 있기 때문에 처리가 요구되어 비교적으로 느리다
오늘 하루 마무리
5월달이 시작됐다. 이번 달만큼은 저번 달에 제대로 하지 못했던 것을 끝내고, 부족한 것을 채워 성과를 위해 열심히 달려보려고 한다. 그래서 이번 달은 바쁜 달이 되었으면 좋겠고, 이제 그만 실무에 투입되어 무언가를 이루고 싶은 마음이 커졌다. 이제는 더이상 지체할 시간이 없는 것 같다. 이번 달에 꼭 이제까지의 결실을 위해 한 번 제대로 해보기 위해 다짐해야겠다.
화이팅!
끝.