https://getinthere.tistory.com/19
요청시마다 스트림을 연결해서 data를 주고 받는 방식
서버부하가 적음
반대개념 stateful 방식 : 채팅창에 쓰임
stateless의 문제: session을 어떻게 유지할 것인가 왜냐하면 응답이 끝나면 연결이 끊기는 방식이 stateless니까. 앞으로 배워나갈 것
서킷 스위칭 | 패킷 스위칭 |
---|---|
새로운 연결을 만들어서 한 번에 실어 보냄 | 쪼개서 보냄. 기존 연결에 패킷을 이어서 보냄 |
![]() | ![]() |
http에선 패킷 스위칭 방식을 쓴다.
패킷은 데이터 혼잡이 적은 경로로 보내진다. 그래서 순서대로 날라가지 않을 수 있음.
그래서 헤더에 패킷 번호를 넣어서 보낸다.
그래야 받는 입장에서 패킷을 올바르게 조립할 수 있으니까
https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
@RestController - 응답을 data로
@Controller - 응답을 html로
post, put, delete 테스트 해보려면 postman으로 해봐야 됨
get 방식 요청은 쿼리스트링으로
파라미터를 사용해주려면 RequestParam 어노테이션을 사용해 줘야 함
post 방식은 body에 담아서 요청
@PostMapping("/http/post")
public String postTest(Member m) {
return "post 요청" + ", " + m.getId() + ", " + m.getUsername() + ", " + m.getEmail();
}
이런 식으로 사용해줄 수도 있고 이 땐 x-www-form-urlencoded 포맷으로 보낸 데이터 받아서 사용 가능
RequestBody 어노테이션을 사용해줄 수도 있음. raw포맷으로 보낸 데이터 사용 가능. raw 데이터는 MIME type이 text/plain
json 포맷으로 보내면 MIME type은 application/json
이런식으로 사용해줄 수 있음
위에 있는 내용을 누가 처리해주냐면 MessageConverter 클래스가 자동으로 처리해주는 거임.