HTTP

HTTP(HyperText Transfer Protocol)

1. 의미

  • HyperText : HTML의 HyperText와 의미가 동일
  • Transfer : 사전적의미로 “전송하다”이며, 전송에 큰 의미가 있다. 그리고 보내는 주체와 받는 주체가 있다는 것이 큰 특징
  • Protocol : 협약, 통신 규약의 의미를 가지며, 물리적으로 떨어진 컴퓨터끼리 어떻게 HTML파일(HyperText)를 주고 받을지에 대한 약속

2. 특징

  1. Request / REsponse (요청/응답)
  • 보내는 주체는 받는 주체에게 요청을 보내고, 받는 주체는 요청을 보낸 주체에게 응답을 보내는 것.
  • 요청과 응답은 소통의 핵심
  1. Stateless
  • 각각의 HTTP통신(요청/응답)은 독립적이기에 과거의 통신을 알지못하므도 “매 통신마다 필요한 모든 정보를 담아서 요청을 보내야 한다”
  • State(상태) + less (없음)

3. Request / REsponse

Request 메세지 구조

  1. Start Line

  • HTTP Method : 해당 요청이 의도한 액션을 정의하는 부분 (주로 GET / POST / DELETE를 많이 사용)
  • Request target : 해당 request가 전송되는 목표 url
  • HTTP Version : HTTP버전으로 주로 1.1 버전이 널리 쓰임
  1. Headers
  • key : value 값 Headers : { Host : 요청을 보내는 목표(타겟)의 주소 User-Agent : 요청을 보내는 클라이언트에 대한 정보 Content-Type : 해당 요청이 보내는 메세지 body의 타입 Authorization : 회원의 인증/인가를 처리하기 위해 로그인 토근을 담는 것 }
  1. Body
  • 해당 요청의 실제 내용으로 주로 Body를 사용하는 메소드는 POST이다.

4. HTTP Request Methods

  1. get
  • 이름 그대로 어떤 데이터를 서버로부터 받아올때 주로 사용하는 메소드
  • 데이터를 받아오기만 할때 사용
  1. POST
  • 데이터를 생성 / 수정할 때 주로 사용되는 메소드
  1. DELETE
  • 특정 데이터를 서버에서 삭제 요청을 보낼 때 쓰는 메소드