티스토리 뷰
HTML, TEXT, JSON, XML 등 거의 모든 형태의 데이터를 전송할 수 있다.
서버 간 데이터를 주고 받을 때도 대부분 HTTP 를 사용한다.
현재 가장 많이 사용하는 것이 HTTP/1.1! 2, 3도 점점 급속도로 늘고 있다.
1997년에 나왔지만, 이후 버전은 성능 개선에 초점이 맞춰져 있고, 기본 토대는 1997년에 나온 1.1 버전이 대부분이다.
HTTP 특징
* 클라이언트 서버 구조
- Request-Response 구조
- 클라이언트는 서버에 요청을 보내고, 응답을 대기
- 클라이언트는 UI&UX에 집중할 수 있게, 서버는 비즈니스 로직에 집중할 수 있게, 양쪽이 독립적으로 작동할 수 있게 분리했다는 사실이 중요하다.
* 무상태 프로토콜(STATELESS), 비연결성
- 서버는 클라이언트의 상태를 보존하지 않는다. 한 번 연결이 갔다가 돌아오면 connection이 끊김. 컨텍스트를 모른다!
- 언뜻 봐서는 상태를 유지하는 게 좋아 보인다. 그런데, 클라이언트 요청이 마구마구 증가한다면 어떨까?
- 누가 요청을 받아도 상관이 없는, 무상태 프로토콜이 더 좋다. (서버가 여러 개 있음) / 만약 컨텍스트가 유지되고 있다면, 중간에 연결이 끊기면 다시 처음부터 시작해야 한다.
- 서버가 여러 대 있을 때, 무상태가 이득이다.
* HTTP 메시지
* 단순함, 확장성
참고)
HTTP/1.1, HTTP/2는 TCP 기반으로 작동한다.
HTTP/3은 속도를 개선한 UDP 기반으로 작동한다.
'TIL' 카테고리의 다른 글
| [1일 1로그 100일 완성 IT 지식] 38, 39. 애플리케이션 + 소프트웨어 계층구조 (0) | 2022.06.10 |
|---|---|
| ORM을 사용하는 이유와 연관관계 매핑 방법 (0) | 2022.06.09 |
| [Spring boot] 스프링 시큐리티 회원가입/로그인 (0) | 2022.06.06 |
| [WIL] 넷째주 회고 - 스프링 시큐리티 (0) | 2022.06.05 |
| [Spring] 단축키들 & 어노테이션 (0) | 2022.06.03 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Java
- 임포트
- overfatching
- 제어자
- DI
- 항해99
- 스프링부트
- MVC
- 상속
- jinja2
- AssertJ
- clean-up policy
- GIT
- controller
- AfterEach
- ManyToMany
- 고민
- ORM
- ResetController
- bean
- 단항연산자
- toCharArray
- 자바의정석
- 배열
- 몽고db
- 서버환경
- OneToMany
- ManyToOne
- 패키지
- IOC
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
글 보관함
