코드스테이츠 Day29
<웹 어플리케이션 작동 원리>
- 어플리케이션
- 네이티브 어플리케이션 : 특정 기기에 설치하여 사용. 특정 실행 환경에 종속.
- 웹 어플리케이션 : 웹 브라우저 소프트웨어를 통해 접근 가능. 동적 페이지 포함.
- TCP / IP
- 통신 규약
- 4계층 모델 : 네트워크 접근 계층, 인터넷 계층(IP 등), 전송 계층(TCP-신뢰성, UDP-속도, 효율성, 싱크 등), 응용 계층(HTTP, DNS, FTP 등)
- IP : IPv4, IPv6 (할당됨)
- 127.0.0.1 : localhost
- 0.0.0.0, 255.255.255.255 : broadcast address 로컬 네트워크에 접속된 모든 장치와 소통하는 주소
- MAC주소 : 기기 고유 시리얼
- 통신
- 회선 교환(Circuit Switching) : 일대일, 전화
- 패킷 교환(Packet Switching) : 다대다
- IPAM : IP 주소 관리 소프트웨어
- port : 어플리케이션(connection endpoint)을 특정하는 번호. 한 IP에서 여러 어플 동작 가능케 함.
- DNS(Domain Name System) : 도메인 이름과 IP 주소 변환하는 데이터베이스 시스템.
- 리졸버가 IP 주소를 얻기 위해 네임 서버(존 파일 갖고 있음)들에게 재귀적인 쿼리를 진행
- 루트, 탑 레벨, 권한 있는 도메인 서버 순서.
- 웹
- 하이퍼텍스트 시스템
- 3 티어 아키텍처 : 클라이언트, 서버, 데이터베이스
- 리소스 사용 / 저장 구분
- 서버의 3단계 계층구조 : Presentation Layer, Application Layer, Data access layer
- SSR(Server Side Rendering) / CSR(Client Side Rendering)
: 렌더링 위치 차이.
검색은 SSR(경로 변경할 때마다 새로운 정적파일 요청), 상호작용이 많은 경우는 CSR.
- CORS : for 유저 보호.
simple request / preflight request(실질적 요청 전 options 메서드 실행)
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
- AJAX : SPA(Single Page Application) 만드는 기술. 검색에 불리.
- HTTP (port : 80)
- Stateless(무상태성) : 클라이언트나 서버 상태 확인 X. 이전 요청이나 다음 요청을 기억하지 않음 ---> 쿠키, 세션, API 사용.
- HTTP messages : 요청 / 응답
- start line(status line), HTTP headers, empty line(header와 body 구분), body(optional)
- API : 서버가 전달하는 클라이언트용 메뉴판.
- HTTP 메서드 : GET, POST, PUT, PATCH, DELETE
- 멱등성 : 한 번 실행하는 것과 여러 번 실행하는 것이 같을 때
- 기타
<느낀 점>
오늘은 하루종일 컨텐츠를 읽는 날이었는데, 양이 정말 많았다.
결국 어제 못한 멱집합은 오늘도 못함,, 내일은 꼭..!
내일은 페어 과제 있는 날인데, 과연 내가 이해를 제대로 해서 과제를 잘 수행해 나갈 수 있을지 모르겠다. 지난 번 제이슨 과제 이후로 조금 떨어진 자신감,,⭐️
섹션 2 정말 만만치 않군,,
네트워크 서버쪽에서 면접 때 알아야되는 거는 TCP/IP 4계층, OSI 7계층 각 간단한 특징 정도랑, IP가 이렇게 구성돼있구나, DNS는 이런거구나 정도? -- 라고 경력자 동기님께서 말씀해주셨으니, 나중에 참고해야겠다:)