- HTTP(HyperText Transfer Protocol): 웹 상에서 클라이언트와 서버 간에 문서, 이미지, 동영상 등의 웹 리소스를 주고받기 위한 애플리케이션 계층의 프로토콜. HTTP는 요청-응답 모델을 사용하며, 상태가 없는(stateless) 특성을 가짐. 이는 각 요청이 독립적으로 처리되며, 서버가 이전 요청에 대한 정보를 기억하지 않는다는 의미최근에는 보안 강화를 위한 HTTPS도 사용.
- HTTP 요청 메서드: HTTP 요청에는 여러 가지 메서드가 존재. (CRUD + HEAD)
- HTTP 응답 상태 코드: 서버가 클라이언트의 요청에 대해 응답할 때 상태 코드를 사용하여 요청 처리 결과를 전달.(200, 400, 404...)
- DNS(Domain Name System): 도메인 이름을 IP 주소로 변환해주는 분산 데이터베이스 시스템. 사용자가 웹 주소를 입력할 때, 도메인 이름을 이해할 수 있는 IP주소로 변환하는 역할을 합니다. DNS 서버는 계층적으로 구성됨. DNS는 주로 UDP 프로토콜을 사용하여 빠른 조회 속도를 제공.
- TCP(Transmission Control Protocol): 전송 계층에서 동작하는 연결 지향적이고 신뢰성 있는 프로토콜. TCP는 클라이언트와 서버 간에 연결을 설정하고 데이터를 전송할 때, 흐름 제어와 혼잡 제어 기능을 사용하여 데이터 전송의 신뢰성을 가지고자 함. 흐름 제어는 송신측과 수신측의 데이터 처리 속도를 조절하여 송신측이 수신측의 처리능력을 초과하지 않도록 합니다. 혼잡 제어는 네트워크 상태를 고려하여 데이터 전송 속도를 조절하고, 네트워크의 혼잡 상태를 해결하는데 도움이 됨.
1.인터넷에 www.naver.com을 쳤을 때, 브라우저의 렌더링 과정에 대해 설명해 주세요.
- 브라우저는 웹 서버에게 해당 페이지의 정보를 요청.
- 웹 서버는 HTML, CSS, JavaScript 파일 등의 리소스를 반환하고, 브라우저는 이를 해석하여 렌더링
웹 통신 흐름
- 주소창에 url(www.naver.com)에 접속한다.
- 브라우저는 해당 url에 상응하는 IP주소를 찾기 위해 DNS 캐시 기록을 확인한다.
- DNS 캐시에 이전에 연결했던 해당 url의 정보가 있다면, 바로 연결
- DNS 캐시 : 컴퓨터 OS에서 유지 관리하는 임시 데이터베이스로 최근 방문한 모든 기록과 웹 사이트 및 기타 도메인에 대한 방문 시도를 포함한 정보.
- URL 캐시에 존재하지 않는 경우 -> ISP의 DNS 서버에서 DNS query를 통해 IP주소를 검색한다.
- ISP : 인터넷을 사용하기 위한 서비스를 제공하는 회사
- DNS 캐시에 이전에 연결했던 해당 url의 정보가 있다면, 바로 연결
- TCP 연결
- TCP (Transmission Control Protocol)는 인터넷 상에서 데이터를 안정적으로 전송하기 위한 프로토콜. 브라우저가 DNS 서버로부터 받은 웹 서버의 IP 주소로 TCP 연결을 시작.
- TCP 연결의 3-way handshake 과정
- SYN: 브라우저가 서버에게 SYN 패킷을 보냄 (연결을 시작하겠다는 의미)
- SYN+ACK: 서버가 브라우저에게 SYN+ACK 패킷을 보냅니다. (요청을 받았으며, 응답하겠다는 의미)
- ACK: 브라우저가 서버에게 ACK 패킷을 보냅니다. (응답을 받았으며, 서버와의 연결이 완료되었다는 의미)
- 이렇게 3-way handshake 과정을 거치면 브라우저와 웹 서버 간의 안전한 TCP 연결 완료.
- 브라우저와 웹 서버는 안전한 TCP 연결을 통해 HTTP 프로토콜을 사용하여 데이터 통신 가능
- 브라우저와 웹서버가 서로 통신한다.
- HTTP 요청 프로토콜를 사용하여 통신(request, response)
2. 브라우저가 전송한 request 메시지를 웹 서버까지 전송하고 그 응답을 받기까지의 과정을 설명해 주세요.
- 하나의 request 요청을 처리하는 과정과 브라우저가 웹 페이지를 렌더링하는 과정은 매우 유사.
- 브라우저 렌더링 과정에서는 기본 HTML 문서뿐만 아니라, 추가적인 리소스를 requset, response하여 가져옴.
- 브라우저는 이를 병렬적으로 처리하여 빠른 속도로 리소스를 가져와서 렌더링함.
- 그렇기 때문에 하나의 request 요청 역시 위 과정과 동일하게 수행됨.
'cs > 컴퓨터네트워크' 카테고리의 다른 글
네트워크 계층 정리 (0) | 2023.04.07 |
---|---|
컴퓨터 네트워크 7차시, 8차시 정리 (0) | 2023.03.24 |
컴퓨터 네트워크 IPv4와 IPv6 비교 (0) | 2023.03.24 |
컴퓨터 네트워크 3, 4차시 (1) | 2023.03.10 |
컴퓨터 네트워크 1,2차시 (1) | 2023.03.04 |