- 장점
- 네트워크의 일부에서 고장이 나도 영향이 광범위하게 퍼지지 않음
- 불필요한 통신이 네트워크 전체로 확산하지 않음
- 개별 네트워크를 각각의 방침에 따라 관리 가능
- TCP/IP 4계층 모델
4층(응용 계층) : 애플리케이션에 맞추어 통신(HTTP, DNS, FTP, ...)
3층(전송 계층) : IP와 애플리케이션을 중개해 데이터를 확실하게 전달(TCP, UDP, ...)
2층(인터넷 계층) : 네트워크 주소를 기반으로 데이터를 전송(IP, ICMP, ARP, RARP, ...)
1층(네트워크 접근 계층) : 컴퓨터를 물리적으로 네트워크에 연결해 기기 간에 전송이 가능하게 함(Ethernet, wifi, ...)
- IP
Internet Protocol의 줄임말로, 인터넷 상에서 사용하는 주소체계를 의미
인터넷에 연결된 모든 PC는 IP 주소체계를 따라 네 덩이의 숫자로 구분
네 덩이의 숫자로 구분된 IP주소 체계를 IPv4(Internet Protocol version 4)라고함
- 같은 LAN에 속한 기기끼리는 통신 할 때, 우선 상대방의 MAC 주소를 파악
- 이때 사용하는 것이 ARP(Address Response Protocol)
- ARP : MAC 주소를 파악하기 위해 네트워크 전체에 브로드캐스트를 통해 패킷을 보내고, 해당 IP를 가지고 있는 컴퓨터가 자신의 MAC 주소를 Response하게 되면서 통신을 하게 해주는 프로토콜

- TCP의 경우 receiver가 전송받을 준비가 될 때까지 세그먼트를 반복적으로 재전송
- 실시간 전송에 대한 요구가 큰 애플리케이션의 경우, 높은 latency를 지양하므로 약간의 데이터 손실을 감수
- 대신 개발자가 이를 보완하기 위해 애플리케이션에 추가 기능 구현 가능
- UDP는 예비과정 없이 바로 전송을 시작
- 설정 단계에 발생하는 지연이 없는 만큼, 반응속도 ↑
- TCP가 신뢰성을 위해 많은 파라미터와 정보 전달이 필요함과 비교해 UDP는 연결설정 관리를 하지 않아 어떠한 파라미터도 기록 X
- 이 떄문에, 서버에서도 TCP에 비해 더 많은 클라이언트 수용 가능
- 도메인 요소 구성
도메인 주소는 오른쪽부터 탑레벨 도메인과 여러 개의 도메인으로 구성
- 탑 레벨 도메인 : 가장 오른쪽에 위치하는 도메인으로, .com/.kr/.net 등이나 .kr/.us 등을 의미(국가 코드의 경우, .co/.ac와 같은 2단계 도메인과 함께 사용되기도 함)
- 도메인 서버(존) : 모든 도메인을 관리하는 루트 네임 서버, TLD를 관리하는 네임 서버, 권한 있는 네임 서버로 구성
- 도메인 네임 서버는 하나의 서버로 구성되지 않으며, 안정성을 위해 최소 두 개 이상의 서버가 하나의 도메인 네임을 담당
- 루트 도메인 네임 서버 : 각 최상의 도메인 네임 서버들의 주소를 알고 있으며, 최상위 도메인 네임 서버는 권한 있는 네임 서버의 주소를 알고있음
- 권한 있는 네임 서버 : 도메인 IP 주소 및 도메인 정보를 관리하는 권한을 가진 서버
- 네임 : 도메인 네임 혹은 서브 도메인의 이름 저장
- 레코드 클래스 : 네트워크 타입 지정(일반적으로 인터넷으로 지정됨)
- TTL(Time To Live) : 리졸버가 레코드를 몇 초 동안 저장할지 명시
- 레코드 타입 : 반환될 데이터의 형식
- 레코드 데이터 : 반환되는 데이터
- 하이퍼텍스트
문서 안에 다른 문서의 위치정보 등을 포함하여 문서 간의 정보를 서로 연관 지어 참조할 수 있는 문서
- 리소스를 저장하는 별도의 공간을 데이터베이스라고 하며, 2티어 아키텍처에 데이터베이스가 추가된 형태를 3티어 아키텍처라고 함
모든 애플리케이션은 client-side와 server-side로 작동
- client-side : 유저에 입력에 따라 브라우저에서 작동하는 프로그램
- server-side : HTTP 요청에 따라 서버에서 요청 처리하는 프로그램
- SSR 사용
- SEO(Search Engine Optimization)가 우선순위인 경우
- 웹 페이지의 첫 화면 렌더링이 빠르게 필요한 경우(단일 파일의 용량이 ↓)
- 웹 페이지가 사용자와 상호작용이 적은 경우
- SSR 단점
- 자원 이용이 서버에 집중되어 애플리케이션 유지비용 ↑
- 일부 서드파티 자바스크립트 라이브러리의 경우, SSR이 불가능할 수 있음
- CSR 사용
- SEO가 우선순위가 아닌 경우
- 사이트에 풍부한 상호작용이 있는 경우(빠른 라우팅)
- 웹 애플리케이션을 제작하는 경우
- CSR 단점
- 느린 렌더링 속도(모든 렌더링의 부하가 클라이언트에 집중)
- Search Engine Bots와 상성이 좋지 않음