반응형
Http(HyperText Tranfer Protocol)
- 우리가 알고있는 대부분의 정보를 전송
- HTML, TEXT, IMAGE, 음성, 영상, JSON, XML....
- TCP
- HTTP/1.1, HTTP/2
- UDP
- HTTP/3
- 특징
- 클라이언트 서버 구조
- 무상태 포로토콜(Statelsee), 비연결성
- HTTP 메세지
- 단순함, 확장 가능
2. 클라이언트 서버 구조
- Request Response 구조
- 클라이언트는 서버에 요청을 보내고, 응답을 대기
- 서버가 요청에 대한 결과를 만들어서 응답
- 클라이언트와 서버를 분리시킨다면 독립적으로 업그레이드가 가능하다.
3. 무상태 프로토콜
- 상태유지(stateful)
- 서버가 클라이언트의 이전 상태를 보존 한다.
- ex) 로그인 후 작업들 -> 로그인 정보 유지
- 서버가 클라이언트의 이전 상태를 보존 한다.
- 무상태(stateless)
- 서버가 클라이언트 이전 상태를 보존하지 않는다.
- 이전 상태를 보존하지 않기 때문에 응답 서버를 쉽게 바꿀 수 있다.
- 스케일 아웃(수평 확장)에 유리하다.
4. 비 연결성
- HTTP는 기본이연결을 유지하지 않는 모델이다.
- 서버 자원을 매우 효율적으로 사용할 수 있다.
- 단점
- 3 way handshake 시간이 추가된다.
- 연결될때 HTML, 자바스크립트, CSS, IMAGE등 여러 자원이 다운로드 된다.
- 지금은 HTTP 지속 연결으로 최적화
5. HTTP 메세지
- 시작 라인
- request-line = method, target, HTTP-version
- Method
- GET
- POST
- PUT
- DELETE
- TARGET
- absolute-path
- '/'으로 시작하는 절대경로
- Method
- 응답라인
- satus-line = HTTP-VERSION, status, reason
- HTTP 헤더
- HTTP 전송에 필요한 모든 부가정보 포함
- 필요시 임의의 헤더 추가 가능
- HTTP 메세지 바디
- 실제 전송할 데이터
- HTML, IMAGE, JSON 등등 byte로 표현할 수 있는 모든 데이터 전송이 가능하다.
- request-line = method, target, HTTP-version
반응형
'개념 정리 > Http' 카테고리의 다른 글
HTTP 상태 코드 (0) | 2023.03.14 |
---|---|
HTTP 메서드 활용 (0) | 2023.03.14 |
HTTP 메서드 (0) | 2023.03.13 |
URI (0) | 2023.03.13 |
인터넷 네트워크 (0) | 2023.03.13 |