콘텐츠로 건너뛰기

주소창에 wwwgooglecom을 입력했을 때 발생하는 일

주소창에 wwwgooglecom을 입력했을 때 발생하는 일

드디어 구글 서버와 연결에 성공했습니다. 이제 우리나라가 활용하는 프로세스끼리 통신하고 싶은 내용을 작성하여 패킷을 구성해야합니다. 보통은 어떤한 개념을 이해하기 위해서는 그 단어의 뜻을 파악하는 것이 도움이 되곤합니다. 그래서 HTTP도 단어의 뜻부터 알아보겠습니다. 그래서 처음 HTTP는 Hyper Text Transfer Protocol의 약자입니다. 그럼 처음 Hyper Text는 무엇일까요? 위키피디아의 정의를 가져왔어요. Hypertext is displayed on a or other with references to other text that the reader can immediately access 사실 거의 모든 웹 페이지들은 어떤 다른 페이지로 이어지는 링크하이퍼링크들로 있기 때문에, 하이퍼텍스트는 웹 페이지라고 이해해도 좋을 것 같습니다.


HTTP의 구성 Requset와 Respons
HTTP의 구성 Requset와 Respons

HTTP의 구성 Requset와 Respons

http통신은 기본적으로 요청과 응답으로 이뤄져있고, 약속된 양식에 알알맞게 각 메모를 작성하게 됩니다. 따라서 주소창에 www.google.com을 입력하면, http request를 약식에 알알맞게 작성하여 구글 서버에 보내고, 구글 서버는 http response를 양식에 알알맞게 작성하여 클라이언트로 보냅니다. 그러면 이 정보를 브라우저가 해석하여 이쁘게 화면에 출력하는 식입니다.

HTTP 특징 무상태성stateless
HTTP 특징 무상태성stateless

HTTP 특징 무상태성stateless

HTTP는 무상태성이라는 특징을 가지고 있습니다. http 통신은 이전에 이뤄졌던 통신와 늘 독립적이고 세션 정보를 따로 저장하지 않습니다. 이 덕분에 가시성Visibility, 신뢰성Reliability, 확장성Scalability를 높일 수 있습니다. 1. 가시성 유일하게 하나 통신의 종합적인 내용을 명확하게 이해하기 위해 이전의 통신을 살필 필요가 없습니다. 2. 안전성 부분적인 실패에서 빠르게 회복할 수 있습니다.

3. 확장성 서버의 자원을 더 효과적으로 활용할 수 있고, 실행이 더 간단합니다.

응용계층 사용자와 대화 할게

가장 먼저 응용 계층에서는 사용자와 직접적인 상호작용이 일어난다. 여기서 이 상호작용을 담당하는 것이 즉각적으로 응용 프로그램크롬이고 이 소프트웨어는 Http 프로토콜을 호출합니다. 은 분명하게 입니다. 여기서 뒤에 붙은 80은 포트 번호독특한 프로세스나 애플리케이션을 식별하기 위해 사용되는 숫자로 HTTP 프로토콜의 포트번호가 80번이기 때문 만 입력하더라도 자동으로 80이 붙은 것으로 인식합니다.

호출된 Http 프로토콜은 클라이언트의 메세지에 HTTP 헤더를 붙여 HTTP 메세지를 생성합니다.

ARP를 통하여 IP주소를 MAC 주소로 변환

우리는 IP주소를 DNS 서버에 의해 알고 있습니다. 그러나 MAC 주소는 알지 못하기 때문 IP주소를 통하여 MAC 주소를 알아내야 합니다. ARPAddres Resolution Protocol, 주소 변환 프로토콜을 사용하여 목드물지 컴퓨터의 IP주소를 이용하여 MAC 주소를 찾아내는 데 사용합니다. 목적지의 MAC 주소를 모른다면 브로드캐스트모두에게 전파를 통하여 ARP 요청을 하게 되면 지정된 IP주소를 가지는 컴퓨터만 응답을 하여 출발지 컴퓨터는 MAC 주소를 얻게 되고 이더넷 프레임을 만들 수 있습니다.

이후에 MAC 주소와 IP주소의 매핑 정보를 메모리에 보관하며 이를 ARP 테이블이라 부릅니다. 이후 정보 통신은 ARP 테이블을 참고하여 전송됩니다.

연결망 인터페이스 계층 정말 전기신호로 바꿔줄게

연결망 인터페이스 계층에서는 데이터를 현실 물리적인 전자 신호로 변경해주는 역할을 합니다. 그리고 이 전자 신호는 MAC 주소를 통하여 연결망 기기로 전달되지만 그러나 🤔 : IP 주소 까지는 알겠는데, MAC주소는 뭐지 ? IP주소가 연결망 상에서 컴퓨터 자체를 의미하는 논리적인 식별자 라면 MAC주소는 전자 신호를 주고 받기 위한 현실 물리적인 장치들의 식별자 인 것입니다. 그렇다면, 우리는 최종 목적지인 google 웹 서버의 MAC 주소를 이해해야 할까? 아닙니다.

이 광범위한 웹 세상에서 데이터를 주고 받기 위해서는 물리적으로 굉장히 많은 장치들을 거쳐야 합니다. 따라서, 여기서 필요한 MAC주소는 당장 이 전자 신호를 보낼 공유기의 MAC주소 인 것입니다.

소켓Feat. Port

우선, 구글 서버까지 찾아가기 위해 IP 주소만 있다면 충분할까요? 사실 그렇지 않습니다. 유일하게 하나 아이피가 할당된 컴퓨터에슨 다채로운 프로그램들이 동작하고 이것을 프로세스라고 부릅니다.

자주 묻는 질문

HTTP의 구성 Requset와

http통신은 기본적으로 요청과 응답으로 이뤄져있고, 약속된 양식에 알알맞게 각 메모를 작성하게 됩니다. 더 알고싶으시면 본문을 클릭해주세요.

HTTP 특징

HTTP는 무상태성이라는 특징을 가지고 있습니다. 자세한 내용은 본문을 참고 해주시기 바랍니다.

응용계층 사용자와 대화

가장 먼저 응용 계층에서는 사용자와 직접적인 상호작용이 일어난다. 좀 더 자세한 사항은 본문을 참고하시기 바랍니다.