Hyunebee
모든 개발자를 위한 HTTP 웹 기술 - HTTP 기본 본문
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 메세지
요청라인 = 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
'HTTP' 카테고리의 다른 글
모든 개발자를 위한 HTTP 웹 기술 - 일반 헤더 (0) | 2022.01.09 |
---|---|
모든 개발자를 위한 HTTP 웹 기술 - 설계 예시 (0) | 2022.01.08 |
모든 개발자를 위한 HTTP 웹 기술 - HTTP Method (0) | 2022.01.08 |
모든 개발자를 위한 HTTP 웹 기술 - URI와 Web Browser 요청흐름 (0) | 2022.01.07 |
모든 개발자를 위한 HTTP 웹 기술 (0) | 2022.01.07 |