Hyunebee

모든 개발자를 위한 HTTP 웹 기술 - HTTP 기본 본문

HTTP

모든 개발자를 위한 HTTP 웹 기술 - HTTP 기본

Hyunebee 2022. 1. 7. 21:08

HTTP? 

HyperText Trabsfer Protocol

 

거의 모든 형태의 데이터를 전송 가능

 

TCP : HTTP/1.1(주로 사용) , HTTP/2

UDP: HTTP/3

 

HTTP의 특징

1. Client - Server 구조

2. 무상태 프로토콜, 비연결성 

3. HTTP메세지

4. 단순함, 확장가능

 

무상태 프로토콜

 서버가 클라이언트의 상태를 보존하지 않음(stateless)

 -> 무상태는 응답 서버를 쉽게 바꿀 수 있다. (수평 확장 유리)

 -> 클라이언트의 요청이 증가해도 서버를 대거 투입할 수 있다.

 

한계점

1.모든 것을 무상태로 설계 할 수 있는 경우도 있고 없는 경우도 있다.

 로그인: 상태 유지

 로그인한 사용자의 경우 로그인 했다는 상태를 서버에 유지

 일반적으로는 쿠키와 서버 세션을 사용해서 서버 상태 유지

 

비연결성

1. HTTP는 기본이 견결을 유지하지 않는 모델

2. 일반적으로 초 단위의 이하의 빠른 속도로 응답

3.서버 자원을 매우 효율적으로 사용할 수 있다.

 

비연결성 단점

1.TCP/IP 연결을 새로 맺어야 함 - 3 way

2.웹 브라우저로 사이트를 요청하면 js, css 등 수많은 자원이 함께 다운로드

3.지금은 HTTP 지속 연결로 문제 해결

 

HTTP 메세지

출처 : https://deepwelloper.tistory.com/98

 

요청라인  =  method[get,post] (space) request-target[alsolute-path + query] (space) HTTP-version CRLF

응답라인 = HTTP-version (space) status-code (space) reason-phrase CRLF

헤더라인 = field-name: field-value

바디라인 = byte로 표현할 수 있는 모든 정보

 

 

https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard