본문 바로가기

IT 용어 정리/Network

Client에서 서버 정보 가져오는 순서

https://velog.io/@majaeh43/Request-%EC%9A%94%EC%B2%AD%EC%8B%9C-%EB%8F%99%EC%9E%91-%EC%88%9C%EC%84%9C

 

💫 Request 요청시 동작 순서 💫

🕸 꼭 기억해주기 !

velog.io

 

전체적인 웹 동작 방식

* 기본적인 Client - Server 방식

* Client(웹브라우저)가 특정 페이지를 웹 서버에 요청(Request)하게 되면 웹 서버(Server)가 이를 처리한 후 결과를 Client(웹브라우저)에게 응답(Request)을 하게 되는 구조

 

 

상세 웹 동작 방식

* 1,2번: 사용자가 웹 브라우저를 통해 찾고 싶은 웹 페이지의 URL 주소를 입력

* 3번: 사용자가 입력한 URL 주소 중에서 도메인 네임(Domain Name) 부분을 DNS 서버에서 검색

* 4번: DNS 서버에서 해당 도메인 네임에 해당하는 IP 주소를 찾아 사용자가 입력한 URL 정보와 함께 전달

* 5,6번: 웹 페이지 URL 정보와 전달받은 IP 주소는 HTTP 프로토콜을 사용해 HTTP 요청 메세지 생성.

             이렇게 생성된 HTTP 요청 메세지는 TCP 프로토콜을 사용해 인터넷을 거쳐 해당 IP 주소의 컴퓨터로 전송

* 7번: 이렇게 도착한 HTTP 요청 메세지는 HTTP 프로토콜을 사용하여 웹페이지 URL 정보로 변환됨

* 8번: 웹 서버(Server)는 도착한 웹페이지 URL 정보에 해당하는 데이터를 검색함

* 9, 10번: 검색된 웹 페이지 데이터는 또 다시 HTTP 프로토콜을 사용해 HTTP 응답 메세지를 생성.

                이렇게 생성된 HTTP 응답 메세지는 TCP 프로토콜을 사욯애 인터넷을 거쳐 원래 컴퓨터로 전송

* 11번: 도착한 HTTP 응답 메세지는 HTTP 프로토콜을 사용해 웹 페이지 데이터로 변환됨

* 12번: 변환된 웹 페이지 데이터는 웹 브라우저에 의해 출력되어 사용자가 볼 수 있음.

 

 

- DNS(Domain Name Service): 인터넷 전화번호부, 사용자가 google.com 또는 naver.com과 같은 도메인 이름을 입력하면, DNS에서 해당 IP주소를 찾아줌.

 

 

HTTP 프로토콜

* HTTP(HyperText Transfer Protocol) 란?

- 인터넷상에서 데이터를 주고받기 위한 서버-클라이언트 모델을 따르는 프로토콜

- OSI 7계층의 어플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동

- 우리가 웹 브라우저를 통해 페이지들을 볼 수 있게 해줌

 

*구조

- 서버-클라이언트 모델

- Client는 Server에 Request하고, Server는 그 요청에 Response을 돌려줌.

- 요청할 때는 URL로 요청

- Client가 웹페이지의 링크 클릭 -> Browser는 HTTP 형태로 메세지를 작성하여 Server에 전송

- Server에서는 받은 메세지에 대해 HTTP 응답 형태로 메세지를 작성해 Browser에 보내면, 브라우저는 이를 해석해 화면에 보여주게 됨.

- HTTP 동작 방식은 TCP 3-Way-HandShake 과정으로 Browser과 Server 간 Connection이 이루어지고, 이후 Browser의 요청에 의한 Server 응답이 이루어짐.

 

* HTTP 특징

- 비연결(Connectionless) & 비상태(Stateless) 프로토콜

- 비연결: Client의 요청에 응답한 후 바로 연결 끊음

- 비상태: Server의 상태가 어떤지 간에 상관없이 요청을 함.

= 장점: 불특정 다수를 대상으로 하는 서비스에 적합, 많은 유저의 요청을 처리 가능

= 단점: 연결을 끊어버리니까 Client 이전 상태를 알 수 없음

ex) 인터넷에 로그인 하면, 쿠키나 세션 방식이 없다면 로그인 정보가 바로 사라짐. 그래서 서버와 계속해서 통신이 필요한 경우, Ajax나 Web Socket 등의 특수한 방법들을 사용함. 또는 Cookie 방식을 활용

 

 

HTTP Method

- Get 방식: Read, 리소스 취득

- Post 방식: Create, 서브 리소스 작성, 리소스 데이터 추가, 그 밖의 처리

- Put 방식: Update, 리소스 갱신, 리소스 작성

- Delete 방식: Delete, 리소스 삭제

- HEAD: 리소스의 헤더(메타 데이터) 취득

- OPTIONS: 리소스가 서포트하는 메소드의 취득

- TRACE: 자기 앞으로 요청 메세지를 반환(루프 백) 시험

- CONNECT: 프록시 동작의 터널 접속으로 변경

'IT 용어 정리 > Network' 카테고리의 다른 글

IPC 란  (0) 2023.07.04
HTTP 란  (0) 2023.06.15
스위치의 정의 및 종류  (0) 2023.05.23
[Network] CentOS 8버전 네트워크 재시작 명령어  (0) 2023.04.13
[네트워크] 인바운드, 아웃바운드 란  (0) 2023.04.10