HTTP: 는 메시지에 모든것을 전송할 수 있다.
(HyperText Transfer Protocol)
- HTML, TEXT
- 이미지, 음성, 영상, 파일
- JSON,XML(API)
등 서버 간 데이터를 주고 받을 때 대부분 사용할 수 있게 되었다.
기반 프로토콜
TCP: HTTP/1.1, HTTP/2
UDP: HTTP/3
현재까지도 HTTP/ 1.1 을 사용하고 있고 2,3 도 점점 사용하는 추세로 전환되고 있다.
그치만 1.1이 거의 근본이고 이후 버전은 성능 업그레이드 정도여서 1.1을 잘 아는 것이 중요하다.
HTTP 특징
- 클라이언트 서버 구조
이렇게 되면 클라이언트와 서버가 각각 독립할 수 있다.
클라이언트는 UI/UX에만 집중하고 서버는 복잡한 비즈니스로직을 수행하게 하는것이다.
그러면 독립적인 진화를 할 수 있다!
- 무상태 프로토콜(스테이트리스)
StateFul(상태):
순차적인 데이터가 필요함, 서버가 다르다면 소실되는 데이터가 있을 수 있음. 중간 정보가 바뀌면 안됨!
StateFulless(무상태):
모든 데이터를 가지고 있음, 서버가 달라지더라도 모르는 데이터가 없을 수 없음. 요청이 증가해도 가능하고, 무한한 서버증설이 가능하다.
- 비연결성
클라이언트와 = 서버가 요청 응답을 주고 받는 동안 연결이 계속 유지 된다면 서버의 자원은 계속해서 소모되어버린다.
클라이언트가 많아져버리면 자원의 불필요한 소모가 너무 많기 때문에
필요한 요청과 응답이 끝나면 연결을 끊어버리자는 것!
서버 자원을 매우 효율적으로 사용할 수 있다!!
*** stateLess 를 잘 기억하는 개발자가 되도록 하자.
선착순 이벤트 같은 경우 대용량 트래픽이 발생되기 때문에 최대한 무상태의 설계를 잘하는 개발자가 되어야한다는겨!
그걸 어떻게 하는지는 모르겟스 헤헷
- HTTP 메세지
HTTP 메세지에는 구조가 있다!
위 사진이 참 정리가 잘 되어있음 ㅎㅎ
응답 메세지에는 요청의 성공과 실패를 나타내는 상태 코드를 같이 준다.
200: 성공
400: 클라이언트 요청 오류
500: 서버 내부 오류
그리고 짧게 사람이 볼 수 있는 코드 설명의 글 까지 같이 준다.
http 헤더에는 전송에 필요한 모든 부가 정보가 들어가 있다.
그리고 메세지 바디에는 실제 전송할 데이터가 담겨 온다.
html 이던지, 문서 , 영상 등등..!!
HTTP는 단순하고, 메시지도 단순하다.
확장도 가능한 기술이라서 많이 많이 쓰여지는 이유인가보다~~!!
참고:
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard
'기타' 카테고리의 다른 글
HTTP 웹 기본 지식(6) - HTTP 상태코드 (0) | 2024.06.21 |
---|---|
HTTP 웹 기본 지식(4) - HTTP 메서드 (0) | 2024.06.20 |
HTTP 웹 기본 지식(2) - URI와 웹 브라우저 요청 흐름 (0) | 2024.06.20 |
HTTP 웹 기본 지식 (1) - 인터넷 네트워크 (3) | 2024.06.19 |
[Jenkins] Jenkins GitLab 연동하기 (0) | 2023.03.06 |