Get, Post 방식의 차이
- --Get--길이의 제한이 있고 Post방식보다 상대적으로 전송 속도가 빠르다.무언가를 받아오기만 할 때 사용
- 보안성이 떨어진다.
- Client가 Server로 데이터를 전달 할 때 URL 주소 뒤에 "이름"과 "값"이 결합된 String 형태로 전달한다.
- --Post--서버로 보내기 전 인코딩 후 서버에서 디코딩 작업을 한다.다양한 객체의 값도 전송이 가능하다.
- Get보다 느리다.
- 일정 크기 이상의 데이터를 보내야 할 때 사용한다.
- --Get, Post 방식의 차이점--Post는 웹 브라우저가 웹 서버에 데이터를 '전달'하기 위해 사용Post는 Body안에서 보내진다. 데이터 위치 / Body
- Get은 URL에 붙여서 보낸다. 데이터 위치 / Header
- Get은 주로 웹 브라우저가 웹 서버에 데이터를 '요청'할 때 사용
쿠키와 세션
- --Cookie--쿠키는 사용자가 별도로 요청하지 않아도 브라우저에서 서버로 요청 시에 Request Header에 쿠키 값을 넣어 요청한다.
- 로컬에 저장되는 Key-Value 형태의 데이터
- 해당 서버에서 사용자의 컴퓨터에 저장하는 기록 정보 파일
- --Session--클라이언트마다 session-id를 부여한다.
- 세션은 서버에 데이터를 저장한다.
웹의 동작 원리
- --전체적인 동작 구조--Front|Back
User Client WebServer WAS DB Server 입력 ▶ Chrome 요청 ▶ Apach 데이터 처리 요청 ▶ Node.js 데이터 요청 ▶ MySQL ◀ 출력 FireFox ◀ 반환 Netscape ◀ 처리 값 반환 Tomcat ◀ 데이터 반환 ORACLE - 사용자가 입력
- Web Server에서 WAS로 데이터 처리 요청
- WAS에서 DB로 데이터 요청
- DB에서 WAS로 데이터 반환
- WAS에서 데이터를 처리
- WAS에서 Web Server로 데이터 처리 값 반환
- Web Server에서 Client로 정적 Page 전달
- 사용자에게 보여준다.
Restful API
- --Restful이란--리소스 상태에 대한 표현을 요청자에게 전송Open API 대부분 Restful API
- 이 정보 또는 표현은 HTTP, Json, HTML, XLT, XML 또는 일반 텍스트를 통해 전달
- 자원을 URL로 표기하고 그 자원 상태를 주고받는 아키텍처
- --Restful API 구성--
- 자원(Resource) - URL자원 구별은 HTTP URL
- 클라이언트는 URL을 이용해 자원을 지정, 해당 자원의 상태 조작을 Server에 요청
- 모든 자원에는 고유한 ID가 존재, 이 자원은 Server에 존재
- 행위(Verb) - HTTP METHODGet - Select - 리소스 조회Delete - Delete - 리소스 삭제
- Patch - Update - 리소스 '일부'를 수정
- Put - Update - 리소스 수정
- Post - Create - 리소스 생성
- 표현(Representaions) - HTTP Message Pay LoadRest에서 하나의 자원은 Json, XML ,TEXT, RSS 등 여러 형태로 나타날 수 있다.
- Json, XML이 일반적
- 클라이언트가 조작을 요청하면 Server는 응답
- --설계 규칙--Method로 자원에 대한 행위를 표현URL 마지막에 / 사용 금지URI 경로에는 소문자 사용
- 파일 확장자는 URI에 포함하지 않음
- _ 대신 - 사용
- / 로 계층 관계를 나타낸다.
- URL로 자원을 표현한다.
- --연결--
- 클라이언트 ↔ Restful API / Node.js ↔ Database
SDLC
계획 - 요구분석 - 설계 - 구현 - 테스트 - 유지보수
프로세스 vs 스레드
프로세스는 운영체제로부터 자원을 할당받는 작업의 단위
스레드는 할당 받은 자원을 이용하는 실행의 단위이며 프로세스 내에 여러개 발생가능
교착상태
교착상태란 둘 이상의 프로세스들이 자원을 점유한 상태에서
또 다른 프로세스가 점유하고 있는 자원을 요구하며 기다리는 현상이다
교착상태에 필요한 조건은 상호배제, 점유와 대기, 비선점, 환형대기이다.
- 교착상태의 해결법발견 - 해당 프로세스 발견무시
- 회복기법 - 프로세스 종료, 자원 선점
- 회피기법 - 은행원 알고리즘
뮤텍스(상호 배제)
임계구역을 가진 스레드들의 실행시간이 서로 곂치지 않고 단독으로 실행되게 하는 기술
세마포어
멀티 프로그래밍 환경에서 공유된 자원에 대한 접근을 제한하는 방법 사용하는
스레드, 프로세스 수를 공통 관리 하나의 값을 이용해서 상호배제
컨텍스트 스위칭이란?
멀티 프로세스 환경에 CPU가 어떤 하나의 프로세스를 실행하는 상태에서
인터럽트 요청에 의해 다음 우선 순위의 프로세스가 실행 되어야 할 때
기존 프로세스의 상태 / 레지스터 값을 저장하고 다음 프로세스를 실행하도록 교체
'기술면접 준비 > CS' 카테고리의 다른 글
기술면접 준비(22.01.29) (0) | 2022.01.29 |
---|