HTTP 메시지
인터넷의 모든것은 HTTP
HTML , TEXT
Image , 음성 , 영상 , 파일 , JSON , XML 등
거의 모든 형태의 데이터 전송 가능
서버간에 데이터를 주고 받을때도 대부분 HTTP 사용
메시지에는
요청메시지와 응답메시지가 있다
HTTP메시지의 구조
1.start line
2.header
3.공백(꼭 있어야함)
4.메시지 영역
요청메시지
GET /search?q=hello&h1=ko http/1.1
host : www.google.com
(공백)
응답메시지
HTTP/1.1 200 ok
content-type : text/html; charset = UTF-8
content-length:3423
(공백)
<html>message</html>
요청메시지와 응답메시지는 시작라인부터가 다른형태를 하고있다.
startline은 크게 request-line 과 /status-line으로 나뉘어 진다.
request-line = method sp(공백) request-target sp http-versionCRLF(엔터)
메서드 요청대상 버전
메서드
종류 : get , post , put , delete
서버가 수행해야할 동작 지정
GET : 리소스 조회
POST : 요청내역 정리
요청대상
absolute-path[?query] (절대경로[?쿼리]) ex) www.google.com/search~
절대경로 = "/" 로 시작하는 경로
http버전
(sp / ows 띄워쓰기)
응답메시지
start-line = request-line / status-line
status-line = HTTP-version sp status-code sp - reason-phraseCRLF
버전 상태코드 상태코드해석
버전- http 헤더
상태- 요청 성공실패를 코드로 나타냄
이유구분 - 상태코드를 이해할 수 있는 짧은 글
HTTP 헤더 (대소문자 구분을하지 않음)
header-field : field-name ";" owsfield - value OWS
요청 : host:www.google.com
응답 : content-type:text/html ; charset=UTF-8
content-length:3423
HTTP 전송에 필요한 모든 부가정보를 표시
ex) 메시지 바디의 내용 , 메시지 바디의 크기 , 압축 , 인증 , 요청클라이언트(브라우저 정보) , 서버 애플리케이션 정보 , 캐시관리 정보,
표준헤러가 너무 많다.
필요시 임의의 헤더 추가기능
HTTP 메시지 바디 (Byte로 표현 가능한 모든 데이터 전송가능)
실제 전송할 데이터
HTML문서 , 이미지 , 영상 , JSON, 등 Byte 데이터
단순함 확장기능
HTTP는 단순하다 , 스펙도 읽어볼만 하다.
HTTP메시지도 매우 단순
HTTP 정리
1.Http 메시지에 모든것을 전송
2.Http 역사 Http/ 1.1 을 기준으로 학습
3.클라이언트 서버 구조
4.무상태 프로토콜(스테이스 리스)
5.Http 메서드
6.단순함, 확장가능.
'HTTP' 카테고리의 다른 글
3월 8일 HTTP put,patch,delete (0) | 2023.03.08 |
---|---|
3월 8일 HTTP 메서드 (0) | 2023.03.08 |
1월 5일 HTTP 비연결성 (0) | 2023.01.06 |
1월 4일 HTTP 무상태 프로토콜 ,쿠키와 세션의 상태유지 (0) | 2023.01.05 |
1월 3일 HTTP HTTP(Hyper text transfer protocol) (0) | 2023.01.04 |