이번 시간에는 인터넷에 대해서 알아보겠습니다.
**인터넷**
은 특정한 통신방법을 기반으로 수많은 컴퓨터가 연결되어 형성하는 연결망입니다.
통신방법인 TCP/IP에 대해서는 아래의 토글을 참고해주세요.
- ✨ TCP/IP관련 참조글
https://coding-factory.tistory.com/613
TCP/IP(Transmission Control Protocol/Internet Protocol)은 인터넷과 컴퓨터 네트워크에서 데이터를 전송하기 위해 사용되는 통신 프로토콜입니다. TCP/IP는 전 세계적으로 가장 널리 사용되는 네트워크 프로토콜로, 인터넷을 구성하는 핵심 요소 중 하나입니다.
TCP/IP는 두 가지 주요 프로토콜인 TCP와 IP로 구성됩니다. TCP는 데이터의 신뢰성을 보장하기 위해 사용되는 연결 지향 프로토콜입니다. 데이터를 작은 패킷으로 분할하고, 수신자에게 전송 후 확인 응답을 받음으로써 데이터의 정확성과 순서를 보장합니다. TCP는 데이터 손실, 중복, 순서 변경 등과 같은 문제를 감지하고 복구할 수 있는 메커니즘을 제공합니다.
IP는 인터넷 프로토콜로, 데이터를 패킷으로 분할하여 네트워크를 통해 전송하는 역할을 합니다. IP는 각 기기에 고유한 IP 주소를 할당하여 데이터를 정확한 위치로 라우팅합니다. 또한 IP는 패킷의 출발지와 목적지를 식별하고 중계 노드를 통해 데이터를 전송하는 역할을 합니다.
TCP/IP는 데이터의 전송, 라우팅 및 수신자와 송신자 간의 통신을 관리하는 데 사용되며, 웹 브라우징, 이메일, 파일 전송, 원격 접속 등과 같은 다양한 인터넷 서비스를 가능하게 합니다. TCP/IP는 모듈식 구조로 설계되어 다른 프로토콜과의 상호 운용성을 지원하며, 인터넷의 성장과 발전을 위한 기반 기술로서 중요한 역할을 합니다.
-Chat GPT-
인터넷으로 연결된 컴퓨터들은 서로 정해진 규칙을 바탕으로 데이터를 주고 받습니다 .
클라이언트 컴퓨터
는 URL을 통해 특정 주소의 컴퓨터에 데이터(요청)를 보냅니다.
반대로 서버 컴퓨터
는 받는 데이터(요청)에 따라 데이터를 처리해주고 다시 클라이언트 컴퓨터로 데이터(응답)를 보냅니다.
코딩 직무에는 크게 프런트엔드 개발자와 백엔드 개발자가 있습니다. 프런트엔드는 사용자가 서버로부터 제공된 데이터를 알아보기 쉽게 디자인하는 역할을 합니다. **백엔드**
는 클라이언트로부터 받은 요청을 서버에서 올바르게 가공하고, 관리하여 클라이언트에 다시 보낼 수 있도록 코딩하는 역할을 합니다.
URL에 위의 요소들이 잘 나타남을 볼 수 있습니다.
📌 <scheme>://<authority>/<path>?<query>
위의 내용은 URL의 구성요소 입니다.
**scheme**
은 요청 방식, authority
는 서버 컴퓨터의 주소, path
는 서버 컴퓨터 내에 클라이언트가 요청한 데이터의 위치, query
는 요청한 데이터에 대한 추가 요구 사항을 나타냅니다.
네이버의 URL을 예시로 들어보겠습니다.
📌 https://www.naver.com/
위의 URL은 https 요청방식으로 요청하며, 서버의 주소는 www.naver.com입니다.
요청방식에 대한 내용은 아래의 토글을 참조해주세요.
이제 네이버에 멋쟁이사자처럼에 검색결과를 요청해보겠습니다.
📌 [https://search.naver.com/
search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=멋쟁이사자처럼](https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=%EB%A9%8B%EC%9F%81%EC%9D%B4%EC%82%AC%EC%9E%90%EC%B2%98%EB%9F%BC)
멋쟁이사자처럼이라는 검색어로 검색을 하니 URL이 변했습니다.
이 내용에 대해 자세히 알아보겠습니다.
먼저, 요청방식은 전과 동일하게 https 방식입니다.
주소가 조금 바뀌었네요.
이전에는 ”www.naver.com” 이었는데, 이제는 “www.search
.naver.com”으로 변경되었습니다.
네이버는 대기업이니 검색에 대한 요청에 응답하는 서버가 하나 있고, 그 서버의 주소가 “www.search.naver.com”라고 이해해볼 수 있겠습니다.
그 다음은 가장 크게 변화한 부분입니다.
”search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=멋쟁이사자처럼”을 보면,
저희가 요청한 멋쟁이사자처럼에 대한 검색 결과에 해당하는 데이터는 search.naver에 있는데,
네이버에 워낙 많은 정보가 있어서 요청된 데이터만을 뽑아내기 위해서는
위와 같이 추가적인 요구 사항이 많다는 것을 알 수 있겠습니다.