반응형
참고서적 : 성공과 실패를 결정하는 1%의 네트워크 원리
브라우저
- 인터넷상에서 웹에 연결시켜 주는 윈도 기반의 소프트웨어.
- URL을 해독하거나 HTTP메소드를 만들지만, 메시지를 송출하는 기능은 없으므로 요청을 보내면 처리는 OS가 한다.
URL(Uniform Request Locator)
- 인터넷에서, 어느 사이트에 접속하기 위해서 입력해야 하는, 주소를 포함한 일련의 문자.
- 상위 개념으로는
URI
가 있으며, 이는 URL과 URN이 있다.
프로토콜
- 특정 규약이나 약속, 프로세스를 통칭하며 네트워크에서는 네트워크 통신을 위한 규약을 뜻한다.
HTTP
- Hyper Text Transfer Protocol
- 크게 요청, 응답 프로토콜이 있으며 method, status code등 주요개념이 있다.
HTTP 프로토콜 작동 순서
- 서버로 리퀘스트 메시지를 보내는 동작으로 구성되며, URL + method로 요청 동작이 결정된다.
request message
: 전송하려는 데이터 + 메소드response message
: 스테이터스코드 + 헤더파일 + 페이지 데이터(HTML, JSON ,,)
Status code(스테이터스 코드)
- 일반적으로 200번대는 요청이 성공, 400번대는 클라이언트의 오류, 500번대는 서버측의 오류이다.
- 자세한 내용은 MDN 문서에서 확인이 가능하다.
TCP/IP
TCP
: 전송 제어 프로토콜로 전송 계층에 위치하며 네트워크 정보 전달을 통제하는 핵심 프로토콜IP
: 패킷 교환 네트워크에서 정보를 주고받는데 사용하는 정보 위주의 규약이며 네트워크 계층에서 호스트의 주소지정과 패킷 분할 및 조립 기능을 담당
IP 주소
- 네트워크 번호 (서브넷 번호) + 호스트 번호
서브넷
: 네트워크 번호는 분할하여 사용하는데 이때 각각 네트워크가 분할되어진 작은 네트워크를 subnet 이라고 한다.- IPV4 = 32bit, 각 비트를 .으로 구분하여 사용, IPV6 = 128 bit, 각 비트를 :으로 구분하여 사용
넷마스크
: 네트워크 번호와 호스트 번호를 구분해주기 위해 덧붙히는 값 => 255.255.255.0
DNS(Domain Name System)
- 요청을 보내는 주소는 2가지로 표현된다. 일반적으로 사용자는 도메인명(www.naver.com)을 사용하고 라우터는 IP주소(127.168.0.5)를 사용한다.
- 이때 도메인과 IP를 대응 시켜주는것이 DNS로 이를 통해 라우터가 동작한다.
리졸버(DNS resolver)
- socket 라이브러리에 들어있는 부품화한 프로그램으로, DNS 서버에 대한 DNS 클라이언트의 역할을 한다.
- IP 주소를 조사하는 네임 리졸루션을 실행하는 것이 리졸버이다.
리졸버의 작동원리
- 애플리케이션 프로그램(웹 브라우저)
- Socket 리졸버를 호출하여 도메인 명을 넘겨줌
- 리졸버가 DNS서버로 조회 요청을 보냄
- DNS서버에서 조회 후 IP주소를 응답으로 보냄
- 리졸버가 응답 내용을 해독하고 IP주소를 추출 및 어플리케이션에게 전달
- 어플리케이션 프로그램은 메모리 영역에 해당 IP주소를 저장
DNS 서버의 기본 동작
- 도메인 ↔ IP : 클라이언트에서 *조회 메시지(이름 + 클래스 + 타입) 를 받고, 서버에 등록된 도메인 명과 IP 주소의 대응표인 리소스 레코드 를 조사하여 회답한다.
- 조회 메시지
- 이름 : 서버나 메일 배송 목적지와 같은 이름.
- 클래스 :
IN
- 타입 : 타입에 따라 클라이언트에 회답하는 정보가 달라진다.
도메인 계층
- 한 대의 DNS 서버에 모든 정보를 등록할 수 없으므로 분산시켜 다수의 DNS에 저장, 연대한다.
HTTP vs HTTPS
- HTTP는 인터넷에서 하이퍼텍스트를 전송하기 위해 통신 규약입니다. HTTPS는 HTTP의 보안 취약점을 하기위해 보안 소켓(Secure socket)을 추가한 프로토콜입니다.
- HTTP는 요청을 보낼때 파라미터가 url로 붙거나, 바디에 그대로 노출이되는데, HTTPS는 그걸 암호화한다.
- 근데 너무 많이 사용하면 보안을 위해 확인 동작이 들어가서 성능이 떨어지므로 적절한 사용이 필요하다
RESTful
- Restful API는 REST 아키텍쳐의 원리를 따르는 API를 말합니다. 기본적인 규칙으로는 URI를 통해 정보의 리소스를 식별하고, HTTP Method를 통해 리소스에 대한 행위를 규정해야 합니다.
반응형
'CS > Network' 카테고리의 다른 글
[CS Network] 서버와 클라이언트의 동작 차이 주요 용어 정리 (0) | 2021.06.22 |
---|---|
[CS Network] 방화벽 DNS 캐시 프록시 등 용어 정리 (0) | 2021.06.22 |
[CS Network] 액세스 회선 ADSL FTTH 주요 용어 정리 (0) | 2021.06.22 |
[CS Network] LAN 라우터 이더넷 등 주요 용어 정리 (0) | 2021.06.22 |
[CS Network] TCP/IP 클라이언트-서버 통신 주요 용어 정리 (0) | 2021.06.22 |