HTTP : Hyper Text Transfer Protocol
* 모든것을 http로 전송한다. JSON...TEXT...이미지... HTML...등등 모든것!
HTTP 특징
1. 클라이언트 - 서버 구조
2. Stateless
: 서버가 클라이언트의 상태를 보존하지 않는다.
따라서 중간에 서버가 어떻게 바뀌거나 추가해도 동일한 응답을 줄 수 있다.
상태가 보존된다면, 중간에 다른 서버로 요청하면 장애가 나는 것...
스케일아웃에 유리함.
but...
상태를 유지해야하는 경우가 생긴다. ex) 로그인
3. 비연결성
: 서버 자원을 효율적으로 사용할 수 있음
요청하고 응답하면 연결이 끝!
but...
연결을 새로 맺어야 함.
css, js, 이미지 등 많은 자원을 계속 다운로드 해야함
그래서 HTTP지속연결을 함
HTTP 메시지
1) 시작 라인 (request-line / status-line)
- request-line = method request-target(path와 query) HTTP버전 [엔터]
- status-line = HTTP버전 status-code reason-phrase [엔터]
예) HTTP/1.1 200 OK
2) HTTP 헤더
- header-field = field-name: ~~~value~~~~
용도 : HTTP 전송에 필요한 부가정보들이 들어있음.
예) 메시지 바디의 내용, 크기, 압축 여부, 인증, 요창 브라우저 정보, 캐시 정보 등등
3) HTTP 메시지 바디
: 실제 전송할 데이터. text, JSON, 이미지, 영상, HTML 등등 모든것
출처 : <모든 개발자를 위한 HTTP 웹 기본 지식> 강의 by. 김영한
'HTTP 기본' 카테고리의 다른 글
HTTP API 설계 예시 (0) | 2022.01.09 |
---|---|
HTTP 메서드 (0) | 2022.01.09 |
URI와 URL, URN (0) | 2022.01.09 |
인터넷 네트워크 기초 (0) | 2022.01.09 |