웹 개발 메모장

[http] 웹 브라우저를 통한 http 통신의 기본 동작 본문

옛날../http

[http] 웹 브라우저를 통한 http 통신의 기본 동작

도로롱주 2017. 12. 27. 20:03




웹 브라우저를 통한 http 통신의 기본 동작




인터넷 익스프롤러, 크롬 같은 웹 브라우저를 켜고 'http://www.naver.com' 같이 주소를 입력하면 브라우저에 네이버 화면이 나타나는데 여기서 사용되는 통신 규약http 라고 합니다.


웹 브라우저를 통해 사용자 컴퓨터에서 네이버의 컴퓨터로 데이터를 가져온건데 여기서 데이터를 요청한 컴퓨터를 클라이언트라고 부르고 데이터를 보내준 컴퓨터를 서버라고 부릅니다.


클라이언트와 서버가 데이터를 주고받을 수 있는 방식이 http, ftp 등 여러가지가 있는데 그 중 하나가 http 이고 웹 사이트에 대한 데이터를 주고받을 때는 보통 http 방식으로 합니다.


기본적인 동작은 다음과 같습니다.


1 단계 : 주소를 입력합니다.

2 단계 : 해당 주소의 서버를 찾아가 데이터를 달라고 합니다.

3 단계 : 서버에서 데이터를 요청한 클라이언트에게 데이터를 전송해줍니다.

4 단계 : 클라이언트의 브라우저에 전달받은 데이터(네이버 화면)을 보여줍니다.




1 단계 : 주소를 입력합니다.


원하는 사이트에 대한 정보가 어느 서버의 어디에 있는지 그 주소를 입력합니다.

그 방법으로 URL 포맷을 많이 이용하는데 URL 포맷은 다음과 같은 형태로 사용합니다.


http://www.dororongju.com/example/test/25.aspx?category=700299


하나씩 살펴보면


http 프로토콜을 사용할건데

www.dororongju.com 을 주소로 갖는 서버에 접근해서

 (여기서 www.dororongju.com 는 DNS를 통해 192.168.0.8 같은 형태의 IP 주소를 찾아서 이용합니다.)

서버의 example 안에 있는 test 안에 있는 25.aspx 파일을 원한다.

근데 category 라는 파라미터에 700299 라는 값을 담아서 보내줄게


라는 뜻입니다.



2단계 : 해당 주소의 서버를 찾아가 데이터를 달라고 합니다.


서버에 데이터를 요청하는 내용의 HTTP 메시지를 만들고 통신하기 쉽게 메시지를 패킷으로 분해합니다.

그리고 서버에게 패킷을 보내는데 일반적으로 서버클라이언트가 같은 랜선에 있지 않기 때문에 서버까지 도달하기 위해 여러 대의 컴퓨터나 네트워크 기기들(라우터)을 거쳐서 서버까지 도달하게 됩니다.

이때 거쳐가야 할 라우터의 MAC 주소(네트워크 카드의 고유 주소)를 ARP 프로토콜을 활용해 구할 수 있습니다.

목적지(서버)에 도달하면 패킷으로 나눠졌던 HTTP 메시지를 다시 조립을 합니다.



3 단계 : 서버에서 데이터를 요청한 클라이언트에게 데이터를 전송해 줍니다.


서버가 받은 HTTP 메시지를 읽고 그에 대한 답장(클라이언트가 요구한 데이터)을 HTTP 메시지로 전환해 클라이언트에게 전송을 하고 그 과정은 2 단계의 과정과 동일합니다.



4 단계 : 클라이언트의 브라우저에 전달받은 데이터를 보여줍니다.


서버가 보낸 HTTP 메시지를 클라이언트가 받으면 그 메시지를 브라우저에서 사용자가 원하는 화면으로 출력을 해줍니다.




※ URI? URL? URN?


URI 는 인터넷에 있는 리소스를 나타내는 유일한 주소 입니다.

URI의 종류로 URL과 URN이 있는데 리소스의 주소를 위치를 기반으로 표현한 것이 URL이고 이름을 기반으로  표현한 것이 URN 입니다.

예를 들어 URL(location) 은 어느 서버의 어느 폴더 아래에 있는 어떤 파일. 이런식으로 표현한다면

URN(name)은 정보 자원을 식별하는 고유 번호가 몇번인 파일. 이런식으로 표현됩니다.



Comments