-
HTTP 구조JavaScript 2022. 6. 17. 16:25
HTTP 구조
HTTP란?
- HyperText Transfer Protocol 의 약자로 하이퍼텍스트(HTML) 문서를 교환하기 위해 만들어진 통신 규약이다.
- 웹상에서 네트워크로 서버끼리 통신을 할때 어떠한 형식으로 서로 통신을 하자고 규정해 놓은 "통신 형식" 혹은 "통신 구조" 라고 보면 된다. (프론트-백 통신에 사용)
HTTP 통신 방식
- HTTP는 기본적으로 요청/응답 (request/response) 구조로 되어있다.
- 클라이언트가 HTTP request를 서버에 보내면 서버는 HTTP response를 보내는 구조로 클라이언트와 서버의 모든 통신이 요청과 응답으로 이루어 진다.
- HTTP는 요청이 오면 그에 응답을 할뿐, 여러개의 요청/응답 끼리 연결되어 있지 않다. (stateless 하다.)
- 각각의 요청/응답은 독립적인 요청/응답이므로 여러 요청과 응답의 진행 과정이나 데이터가 필요할때는 쿠키나 세션 등등을 사용하게 된다.
HTTP Request 구조
- Start Line
- HTTP Method - 요청시 보내는 HTTP 메소드 형태 (GET, POST, PUT, PATCH, DELETE, 기타)
- Request Target - 어디로 보내는지에 대한 URI
- HTTP Version - HTTP 버전
💡 URI 란?
통합 자원 식별자로 정보 리소스를 고유하게 식별하고 위치를 지정할 수 있다.
- Headers
- Host - 호스트 URL
- User-Agent - 클라이언트 정보
- Accept - 서버에서 해당 타입에 데이터를 보내달라고 요청하는 헤더
- Authorization - 인증 토큰을 서버로 보낼 때 사용하는 헤더
- 기타 (Connect, Content-type, Content-Length 등)
- Body
해당 Request의 실제 메시지/내용이다. Text, JSON 메시지 뿐만 아니라
이미지, 비디오, HTML, 문서 등 다양한 형식이 들어올 수 있다.
💡 대부분의 GET Request는 Body가 없다!
HTTP Response 구조
- Start Line
- HTTP Version - 응답 받은 메세지의 HTTP 버전 정보 (HTTP/1.1)
- Status Code - 응답 코드 (200)
- Status Text - 응답 상태 (OK)
- Headers
- Date - 응답 받은 일시
- Content-Type - 응답 데이터의 타입
- Cache-Control - 캐시용 헤더
- 기타 등등
- Body
요청에 대한 응답 값
반응형'JavaScript' 카테고리의 다른 글
깊은복사와 얕은복사, 그리고 최신문법 structuredClone 까지 (10) 2023.01.15 Axios (0) 2022.06.14 자바스크립트 객체 종류와 생성 시기 (0) 2022.06.10 Array Method (0) 2022.06.09 배열 (Array) (0) 2022.06.07