티스토리 뷰
웹의 동작 방식을 단순히 말하자면 "클라이언트가 서버에 요청을 보내면 서버는 요청에 대한 응답을 해준다." 로 정리 할 수 있다.
하지만 클라이언트와 서버 두개만 있다고 웹이 동작하는 것이 아니라 추가로 다양한 요소들이 필요하다.
쉽게 예를 들어 말하자면, 레스토랑에 손님이 들어온다. 손님은 종업원에세 음식을 주문하고 종업원은 요리사에서 주문서를 전달한다. 그러면 요리사는 음식을 조리한다. 요리가 끝나면 요리사는 종업원에게 요리를 전달하고 종업원은 손님에게 음식을 준다.
여기서 종업원 = 웹 클라이언트, 요리사 = 웹 서버라고 생각한다면
손님(사용자)의 음식(페이지)주문을 확인한 종업원(웹 클라이언트)이 요리사(웹 서버)에 요청(Request)를 보내면, 요리사(웹 서버)는 해당 요청(Request)에 대해 응답(Response)한다.
웹 클라이언트(웹 브라우저)
웹 클라이언트는 사용자가 웹에 접근하는 프로그램을 말한다. 사용자들이 보통 보는 웹은 웹 브라우저에서 실행 됨으로 Internet Explorer, Chrome, Safari 등의 웹 브라우저를 웹 클라이언트 라고 한다.
우리가 브라우저 주소창에서 http://itsmekyum.tistory.com 라고 입력하고 엔터를 하면, 클라이언트는 사용자로부터 받은 URL에 대한 정보를 팢아서 HTTP 메세지 형태로 서버에 요청한다.
웹 서버
웹 서버는 웹 페이지, 사이트, 또는 앱을 저장하는 프로그램을 말한다.
서버는 클라이언트에서 요청한 HTTP 메세지를 확인한 후, 이에 맞는 데이터를 처리한 뒤에 다시 클라이언트에세 응답을 한다. 만약 클라이언트가 http://itsmekyum.tistory.com 블로그의 메인 페이지를 보내줘 라고 요청을 보내면 서버에서는 이 요청을 확인하고 페이지를 만드는데 필요한 HTML, CSS, JS, Image 등을 가져와 클라이언트에세 보내주는 것이다.
예시로는 아파치 웹 서버, GWS, IIS 등이 있다.
동작 순서
- 사용자가 브라우저에 URL을 입력
- 브라우저는 DNS를 통해 서버의 진짜 주소를 찾음
- HTTP 프로토콜을 사용하여 HTTP 요청 메세지를 생성함
- TCP/IP 연결을 통해 HTTP요청이 서버로 전송됨
- 서버는 HTTP 프로토콜을 활용해 HTTP 응답 메세지를 생성함
- TCP/IP 연결을 통해 요청한 컴퓨터로 전송
- 도착한 HTTP 응답 메세지는 웹페이지 데이터로 변환되고, 웹 브라우저에 의해 출력되어 사용자가 볼 수 있게 됨
DNS
Domain Name System 의 약자인 DNS는 인터넷의 전화번호부라고 생각하면 된다. http://itsmekyum.tistory.com 이라는 도메인을 웹 브라우저에 입력하는 경우 DNS는 해당 사이트의 올바른 IP 주소를 찾는다.
'cs 스터디' 카테고리의 다른 글
[WEB] 렌더링 (0) | 2024.01.30 |
---|---|
[WEB] 브라우저 동작 방법 (0) | 2024.01.29 |
[네트워크] OSI 7계층 (1) | 2024.01.21 |
[데이터 베이스] 정규화 (0) | 2024.01.10 |
[데이터 베이스] 이상현상 (0) | 2024.01.10 |