1. POSTMAN 설치
https://www.postman.com/downloads/
2. HTTP1.1
통신
------------Write(응답)--------->
A Byte Stream (8bit) B
<-----------Read(요청)----------
B는 서버, 갑이다. 데이터를 가지고 있음. B 입장에서 A가 누구인지는 하나도 안궁금하다. A는 데이터를 사용하고 싶은 것.
A:클라이언트
B:서버
http 통신의 약속이 있다. 요청의 4가지 방법
get: 데이터를 줘! - Select
post: 데이터를 추가해줘! (한건일 수도 있고 여러개일 수도 있다. ex. 회원가입 했을 때 내 정보를 서버에 던져줄 것이다. b는 그것을 자기 데이터베이스에 추가할 것이다) - Insert
delete: 데이터를 삭제해줘! - Delete
put: 데이터를 수정해줘! (내 주소를 변경하고 싶다면) - Update
근데 어떤 데이터를 줘야하는지, 어떤 데이터를 추가해야 하는지, 어떤 데이터를 삭제, 어떤 데이터를 수정해야 하는지가 필요하다.
A 클라이언트가 B서버에게 stream 연결하고 요청할 것이다. 데이터를 줘~ get 방식으로 주면 서버는 무언가를 select 한다는 것을 인지한다. 그래서 요청 뒤에 ? 물음표라고 해서 요청?사과, 요청?회원정보 로 만들어준다.
post 요청을 할때.. ID=ssar, PW=1234 처럼..한다. put delete도 어떤 데이터를 수정, 삭제해야 하는지 알아야 한다. 이를 위해 MIME타입을 사용한다.
3. stateless 와 stateful
stateless방식은 한번의 요청과 응답이 이루어지면 클라이언트와 서버와의 연결선이 끊어지는 것을 말한다. 이 방식은 주로 http에 사용되는 방식이며 이는 서버의 부하를 줄여준다.
stateful 은 연결이 지속된다는 뜻이다.
4. MIME 타입
클라이언트가 서버에게 post 요청을 한다. 추가해주라는 의미이다. 요청 시에 헤더와 바디라는 것에 달고 간다.
내 사진 my.jpeg
헤더|Image/JPEG : Data 설명!
바디|my.jpeg : Data
헤더에는 데이터 설명 뿐만 아니라 다른 것도 들어갈 수 있다. http 통신 할때 쓰는 방식은 패킷 스위칭 방식이다
상황: A와 B가 있을 때 A가 B에게 보내려고 한다.
패킷 스위칭:
가 | 나 | 다 | 라 패킷 단위로 쪼갬
서킷 스위칭:
가 나 다 라 를 한번에 보냄
Text, avi, 이진데이터, json 등등 다양한 데이터 방식이 있을 것이다.
MIME 타입이란 클라이언트에게 전송된 문서의 다양성을 알려주기 위한 메커니즘이다. 웹에서 파일의 확장자는 별 의미가 없다. 그러므로 각 문서와 함께 올바른 MIME 타입을 전송하도록, 서버가 정확히 설정하는 것이 중요하다. 브라우저들은 리소스를 내려받았을 때 해야 할 기본 동작이 무엇인지를 결정하기 위해 대게 MIME 타입을 사용한다.
출처: https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types
MIME 타입의 전체 목록
https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
5. Controller 생성 및 실습
HttpControllerTest.java 생성
Get 메서드
Post 메서드
Put 메서드
Delete 메서드
이 글은 유투버 겟인데어의 스프링 부트 강좌를 바탕으로 정리한 내용입니다.