몰입공간
[Web] 클라이언트 - 서버 모델, GET과 POST 개념 잡기 본문
#1 클라이언트 - 서버 모델
1-1. 클라이언트
- 엄밀히 말해 서버에 접근해 상호작용이 가능한 브라우저(혹은 소프트웨어)를 의미하지만 보통 '사용자(user)'를 지칭한다.
- 유저의 입력을 처리하고 이를 받아서 서버에 데이터를 요청한다.
1-2. 서버
- 클라이언트 및 DB와 통신하여 클라이언트의 요청을 처리하고 이를 다시 보내준다.
- 통상적으로 웹/앱을 의미한다.
1-3. 데이터베이스(DB)
- 서버로 부터 분리된 외부의 데이터 저장 공간을 의미한다.
- 서버 자체에 두어도 교류가 가능하지만, 비즈니스 형태로 발전하여 방대한 데이터를 다룬다면 보안과 편리성 등 여러가지 이유로 따로 설정한다.
1-4. 작동방식
- 데이터 교류를 위한 서버와 클라이언트의 상호작용은 '네트워크'를 통해 이루어진다.
- 데이터 교류 상호작용은 특정한 규격을 통해 요청(request) 및 응답(response)이 일어나게 되는데 그 규격이 바로 'HTTP' 이다.
- HTTP의 메서드 중 알아볼것이 다음 등장하는 GET과 POST이다.
#2 HTTP Methods: GET & POST
2-1. GET
- 서버가 가진 데이터를 조회(Read) 하기 위해 요청하는 것을 의미한다.
- 요청한 데이터를 수정하지 않는다.
- 요청할 데이터를 URL에 담아 전송한다. (URL 뒤 ? 이후에 key=value 형식으로 전달)
- 같은 요청은 항상 같은 데이터를 반환한다.
2-2. POST
- 사용자의 입력을 받아 데이터를 새롭게 생성(Create) 하거나 저장된 데이터를 수정(Update), 제거(Delete)를 요청하는 것을 의미한다. (보통은 그렇다.)
- 데이터 변화가 이루어지기 때문에 같은 POST요청이라도 같은 데이터를 반환한다는 보장이 없다.
- HTML 문서안에 위치하여 내부적으로 데이터를 전송한다.
2-3. 작동예시
- 학습중인 Flask 웹 프레임워크와 mongoDB를 통한 예시는 여기에서 확인
'Programming > Web' 카테고리의 다른 글
[JWT] JWT의 보안 전략 (How to use secured JWT) (0) | 2022.06.24 |
---|---|
[인증] 세션과 토큰 (Session and token for authentication) (0) | 2022.06.16 |
Comments