- 서버: 데이터를 제공하는 컴퓨터 또는 컴퓨터에 서버 역할을 수행하게 하는 소프트웨어
- 예시: 웹 서버는 아파치 HTTP 서버와 같이 컴퓨터의 특정 폴더에 있는 HTML 파일로 웹사이트를 표시할 수 있게 하는 프로그램
- 클라이언트: 데이터를 받는 컴퓨터
- HTTP 통신: 클라이언트와 서버가 요청 메소드와 응답 코드를 주고받는 과정
- 요청 메소드:
- GET: 서버에 HTML 등의 문서, 이미지, 각종 데이터를 요청하는 메소드. 브라우저에서 웹사이트 접속 시 보내는 요청
- POST: 서버에 새로운 자료를 저장하거나 새 게시물 작성하는 메소드
- PUT: 특정 데이터 전체를 새로 저장하는 메소드
- PATCH: 특정 데이터의 일부만 수정하는 메소드
- DELETE: SNS 게시물 등 특정 데이터를 삭제하는 메소드
- 데이터 센터: 서버를 운영하는 시설
- 서버 호스팅: 데이터 센터 미소유 기업이나 개인에게 센터 내 서버를 임대해주는 서비스
- 장점: 비용 절감
- 단점: 보안 취약성(중요 정보를 외부 컴퓨터에 보관하기 때문)
- 온프레미스: 회사가 자체적으로 서버를 갖추고 관리하는 방식
- 장점: 기업이 자체적으로 서버를 구체적으로 구성하고 통제할 수 있음
- 단점: 데이터 센터 운영 인력 필요, 자체 서버를 위한 물리적 공간 필요
- 쿠키: 크롬이나 사파리 등 브라우저에 저장되는 작은 텍스트 조각. 사용자가 보유한 정보로, 사용자가 개발자 도구로 수정, 삭제할 수 있어 보안 정보 저장에 부적합
- 세션: 로그인 여부 등 사용자와 서버의 관계가 유지되는 상태. 메모리 공간을 많이 차지함
- 캐시: 반복적으로 사용되는 콘텐츠를 빠르게 이용할 수 있게 하고, 데이터 사용량도 줄일 수 있는 기술
- CDN(콘텐츠 전송 네트워크): 각지에 캐시 서버를 두어 부하를 분산시키는 기술