- 네이티브 애플리케이션 : 특정 실행환경에 종속
- 장점
- 웹애플리케이션보다 빠르다.
- 설치된 기기의 시스템/리소스에 접근 용이 (GPS, 카메라)
- 인터넷 없이 사용 가능
- 웹애플리케이션에 비해 안전(모바일은 앱스토어의 승인필요)
- 단점
- 웹애플리케이션보다 개발비가 더 들어간다.
- 빠른 업데이트가 힘들다.
- 앱스토어 승인이 힘들고 비용 발생
- 웹 애플리케이션 : 웹 브라우저를 통해 접근 가능
- 장점
- 브라우저를 통해 실행되어서 설치나 다운로드 필요 없음.
- 업데이트등 유지관리가 용이
- 네이티브 애플리케이션에 비해 만들기가 비교적 간편
- 앱스토어 승인이 필요 없음.
- 단점
- 인터넷이 없으면 사용 불가
- 네이티브에 비해 속도가 느림
- 스토어에서 관리되지 않아 사용자 접근성이 떨어짐
- 질적으로나 보안상 위험에 노출되기 쉬움.
LAN
: 좁은 범위에서 연결된 네트워크 / WAN
(세계의 네트워크)인터네트워킹
: 여러 네트워크를 연결하는 것프로토콜
: 네트워크의 공통된 약속 (현재는 TCP/IP 가 주로 사용)nslookup
명령어로 주소 확인 가능TCP/IP 4계층에서 인터넷 계층의 상위에서 동작
TCP 3-way handshake
: 양끝단의 기기의 신뢰성 있는 데이터 통신을 위해, TCP방식이 연결을 설정하는 방식웹
: 인터넷에서 제공되는 하이퍼텍스트 시스템
- 웹 애플리케이션 특징
Presentation Layer
: 유저와 브라우저등으로 직접적으로 접촉 (Web Server 포함)Application Layer
: 비즈니스 로직, 혹은 도메인 로직
유저의 요청을 브라우저로부터 받아서 처리 (Application Server 포함)Data access Layer
: 퍼시스턴스 레이어. 데이터 저장소에 접근하여 데이터를 불러오거나 저장을 담당.
Cross-cutting
: 보안, 통신, 운영 관리등을 위한 요소Third-party integrations
: 제 3의 API 서비스를 이용, ex) PG사를 이용한 결재기능요청
: 처리 종류 메서드이름과 처리 대상의 이름 포함응답
: 처리 결과를 나타내는 상태 코드와 헤더, 실제 처리결과 메세지 포함
- SSR을 사용하는 경우 (네이버 블로그)
1.SEO가 우선순위인 경우
2.첫 화면 렌더링이 빠르게 필요한 경우
3.웹 페이지가 사용자와 상호작용이 적은 경우- SSR 단점
- 자원이 서버에 집중, 유지비용이 높다.
- 일부 서드파티 자바스크립트 라이브러리의 경우 불가능할 수 있다.
- CSR을 사용하는 경우 (아고다)
- SEO가 우선순위가 아닌 경우
- 풍부한 상호작용이 있는 경우 빠른 라우팅 가능
- 웹 애플리케이션을 제작하는 경우 더 나은 사용자 경험 제공
- CSR 단점
- 느린 렌더링 속도, 렌더링의 부하가 클라이언트에 집중
- search engine bots과 상성이 안좋다.
요청(Request)
/ 응답(Responses)
start line
: 요청이나 응답의 상태를 나타냄. 응답에서는 status line이라고 부름HTTP headers
: 요청을 지정하거나 메세지에 포함된 본문을 설명하는 헤더의 집합empty line
: 헤더와 본문을 구분하는 빈 줄body
: 요청이나 응답과 관련된 데이터 또는 문서 포함. (payload)
- 요청(Request)
클라이언트가 서버에 보내는 메세지
- Start line 의 3가지 요소
- 수행할 작업이나 방식을 설명하는 HTTP 메서드를 나타냄.
- 요청대상(일반적으로 URL이나URI) 또는 프로토콜, 포트, 도메인의 절대 경로는 요청 컨텍스트에 작성.
origin형식
absolute형식
authority형식
asterisk형식
- HTTP 버전 (구조가 달라짐)
- Headers
헤더이름(대소문자구분x), 콜론(:) , 값
1.General headers: 메시지 전체에 적용되는 헤더
2.Request headers: fetch를 통해 가져올 리소스나 클라이언트 자체에 대한 자세한 정보를 포함하는 헤더
3.Representation headers: 바디에 담긴 리소스의 정보를 포함하는 헤더
- Body
요청의 본문 (선택적)
GET, HEAD DELETE, OPTIONS처럼 서버에 리소스를 요청하는 경우에는 필요x
1.Single-resource bodies(단일-리소스 본문) : 헤더 두개로 정의된 단일 파일로 구성
2.Multiple-resource bodies(다중-리소스 본문): 여러 파트로 구성된 본문에서는 각 파트마다 다른 정보를 지님.
- 응답(Responses)
- Status line
- 현재 프로토콜의 버전
- 상태 코드 - 요청의 결과를 나타냄.
- 상태 텍스트 - 상태 코드에 대한 설명
ex)HTTP/1.1 404 Not Found
- Headers
헤더이름(대소문자구분x), 콜론(:) , 값
1.General headers: 메시지 전체에 적용되는 헤더
2.Response headers: 위치 또는 서버 자체에 대한 정보와 같이 응답에 대한 부가적인 정보를 갖는 헤더
3.Representation headers: 바디에 담긴 리소스의 정보를 포함하는 헤더
- Body
요청의 본문 (선택적)
201, 204와 같은 상태 코드를 가지는 응답에는 필요x
1.Single-resource bodies(단일-리소스 본문) :
길이가 알려진 본문은 두 개의 헤더로 정의
길이를 모르는 본문은chunked
로 설정
2.Multiple-resource bodies(다중-리소스 본문): 서로 다른 정보를 담고 있음.