이카's
Published 2021. 7. 20. 23:57
[JS] HTTP Language/JS

HTTP 공부 목표

  • HTTP messages 구조
    • HTTP 동작 방식
    • HTTP request & responses
    • HTTP 응답 메세지

HTTP Messages

HTTP란?

HyperText Transfer Protocol의 줄임말로, HTML 같은 문서를 전송하기 위한 프로토콜이다.

HTTP messages는 클라이언트와 서버 사이에서 데이터가 교환하는 방식이다. 메시지 타입에는 2가지가 있다.

요청 메시지는 클라이언트가 서버로 전달해서 서버에서 일어나는 메시지고,
응답 메시지는 요청메시지에 대한 서버의 답변이다.

요청메시지, 응답메시지는 유사구조를 가진다.

  • 시작줄
  • 헤더
  • empty line
  • 본문

메시지 구조

요청

시작줄

  1. 첫번째
    HTTP 메서드로 GET, PUT, POST를 사용, HEAD, OPTIONS을 사용해 서버가 수행해야 할 동작을 나타낸다.

GET : 리소스를 클라이언트로 가져다 달라는 것 - 조회
POST : 데이터가 서버로 들어가야 함을 의미 - 수정, 문서 생성

  1. 두번째
    두번째로 오는 요청 타겟은 URL, 프로토콜, 포트, 도메인의 절대 경로로 나타낼 수도 있으며, 이들은 요청 컨텍스트에 의해 특정지어 진다. 요청 타겟 포멧은 HTTP 메소드에 따라 달라진다.

형식의 종류

  • origin 형식
  • asolute 형식
  • authority 형식
  • asterrisk 형식

헤더

요청에 들어가는 HTTP헤더는 헤더의 기본 구조를 따른다. 대문자 구분없는 문자열 다음에 코론이 붙으며, 그 뒤에 오는 값은 헤더에 따라 달라진다.

헤더의 종류

  • Request 헤더
  • General 헤더
  • Entity 헤더

본문

본문 요청의 마지막 부분으로 들어간다. 모든 요청이 본문에 들어가지 않아, GET, HEAD, DELETE, OPTIONS 처럼 리소스를 가져오는 요청은 본문에 없다.

본문의 종류

  • 단일 - 리소스 본문 : 헤더 2개로 정의된 단일 파일
  • 다중 - 리소스 본문 : 멀티파트 본문으로 구성된 다중 리소스 본문으로 구성된 본문 파트에 다른 정보를 가지게 된다.

응답

상태 줄

아래 정보를 포함한다.

  1. 현재 프로토콜의 버전
  2. 상태 코드 - 요청의 결과를 나타낸다.
  3. 상태 텍스트 - 상태 코드에 대한 설명

헤더

요청에 들어가는 HTTP헤더는 헤더의 기본 구조를 따른다. 대문자 구분없는 문자열 다음에 코론이 붙으며, 그 뒤에 오는 값은 헤더에 따라 달라진다.

헤더의 종류

  • Request 헤더
  • General 헤더
  • Entity 헤더

GET / home.html HTTP/1.1
POST / index.html HTTP/1.1
DELETE /query.html HTTP/1.1

  • GET / POST / DELETE : verb
  • .html : URI
  • HTTP/ : version

본문

201, 204 같은 상태 코드를 가진 응답에는 본문이 필요하지 않는다. 응답의 body에는 두가지 종류로 나눌 수 있다.

본문의 종류

  • 단일 - 리소스 본문 : 헤더 2개로 정의된 단일 파일
  • 다중 - 리소스 본문 : 멀티파트 본문으로 구성된 다중 리소스 본문으로 구성된 본문 파트에 다른 정보를 가지게 된다.

반응형

'Language > JS' 카테고리의 다른 글

[JS] HTTP 트렌젝션 해부 및 CORS  (0) 2021.07.20
[JS] 네트워크  (0) 2021.07.20
[JS]네트워크 - REAT API  (0) 2021.07.20
[JavaScript] 객체 지향 프로그래밍 (OOP)  (0) 2021.06.22
[JavaScript] 비동기 Callback/Promise/async,await  (0) 2021.06.22
profile

이카's

@Edan Cafe ☕

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!