1 . 브라우저 창에 google.com 입력.
2. 캐시 메모리에 입력한 도메인 주소의 ip가있는지 탐색.
여기서 네개의 캐시를 확인. 브라우저 캐시 OS캐시 ISP캐시 라우터 캐시
3. 캐시에 있다면 바로 IP주소를 사용하면 되고, 없다면 DNS서버가 DNS쿼리를 통해 단계별로 IP주소 탐색
루트 -> .com 등 나라 -> 다음 레벨 ...
4. 찾은 IP주소 해당 서버와 TCP 연결 시작.
여기서 3-way-handshake 를 통해 tcp연결.
3-way-handshake란 3번의 syn과 ack로 서버와 클라이언트가 데이터를 주고 받는 것.
5. 브라우저가 서버에 http 요청 (GET).
6. 서버가 요청을 처리하고 response를 보냄.
request handler에 전달하고 이를 처리
7. 서버가 http 응답을 보냄.
이 때, header body data부분으로 나뉘고, get의 경우 데이터를 data부분에 담지못하지만, post의 경우 data부분에 담아서 보다 대용량 전송가능.
상태 코드가 있는데, 2xx의 경우 성공, 3xx의 경우 redirect, 4xx의 경우 클라이언트 오류, 5xx의 경우 서버 오류 이다.
8. 브라우저가 렌더링.
서버로 부터 응답받은,
tml xml json 데이터 등 렌더링.
'컴퓨터공학' 카테고리의 다른 글
[1일1cs] 라이브러리 vs 프레임워크 (0) | 2022.07.13 |
---|---|
[1일1cs] 파라미터 vs 인자 (0) | 2022.07.12 |
[1일1cs] hashmap, hashtable (0) | 2022.07.10 |
[1일1cs] stack두개로 queue 만들기 (0) | 2022.07.10 |
[1일1cs] 페이지 교체 알고리즘 (0) | 2022.07.09 |