- 주요 구성 요소:
- 사용자(User) : 서비스를 이용하는 사람
- 클라이언트(Client) : 사용자의 행동을 받아 서버에 요청을 보내는 프로그램
- 서버(Server) : 클라이언트의 요청을 처리하고 결과를 반환하는 프로그램
- API : 프로그램 간 기능을 사용하기 위한 약속된 인터페이스

- 시작 줄 : 메서드(요청 시), 상태 코드(응답 시) 등을 포함함
- 헤더(Header) : 데이터의 형식, 길이, 인증 정보 등 메타데이터가 담김
- 본문(Body) : 실제 전달하려는 데이터가 들어감(선택사항)
- 2xx 성공 :
200 OK : 정상 처리,
201 Created : 리소스 생성 성공,
204 No Content : 성공했지만 응답 바디없음/ 보여줄게없다
- 3xx 리다이렉션 :
301 Moved Permanently : 영구 이동
- 4xx 클라이언트 오류 :
400 Bad Request: 요청 형식 오류
401 Unauthorized: 인증 필요
403 Forbidden: 권한 없음
404 Not Found: 리소스 없음
409 Conflict: 상태 충돌
422 Unprocessable Entity: 유효성 검증 실패
- 5xx서버 오류 :
500 Internal Server Error: 서버 내부 오류
502 Bad Gateway: 게이트웨이 오류
503 Service Unavailable: 서비스 불가
REST(Representational State Transfer) : 자원(Rescource)을 중심으로 HTTP 메서드를 사용하여 통신하는 API 설계 방식
주요 HTTP 메서드(CRUD) :
- GET : 자원 조회
- POST : 자원 생성
- PUT/PATCH : 자원 전체/일부 수정
- DELETE : 자원 삭제
CRUD와 관계
*복호화 : 암호화된 데이터를 원래의 평문(읽을 수 있는 데이터)으로 되돌리는 과정을 말함.쉽게말해, 금고 주인이 열쇠를 사용해 자물쇠를 열고 편지를 꺼내 읽는것.
필요성 : 대량의 데이터를 정리된 구조로 안전하게 저장하고, 여러 사람이 동시에 빠르게 검색,관리하기 위해 사용함
RDBMS(관계형 데이터베이스) : MySQL, PostgreSQL등과 같이 정형 데이터를 테이블 간의 관계(Key)를 통해 관리하는 시스템임
핵심 용어
- Table : 데이터가 저장되는 표
대칭키 암호화와 공개키 암호화를 함께 사용
쉽게 말해,
- client가 -> 브라우제에게 안녕? 얘기좀하자
- 서버 : 그래 신분증 확인. 근데 나 진짜인지 가짜인지 몰라. ca님 이거 진짜에요?
- ca 진품 확인
- 오 맞네 그럼 우리끼리만 아는 암호로 만들자