HTTP

더미벨·2022년 6월 3일
1

HTTP


  • how do we communicate. 컴퓨터가 웹을 이용해 소통을 할 때 필요한... 무언가...
  • Hyper Text: 문서와 문서가 링크로 연결되어 있음을 뜻한다. 구글에서 네이버로 올수 있고 네이버에서 다음으로 갈 수 있는 것은 결국 하이퍼끼리 연결되어 있기 때문이다.
  • Transfer: html로 만든 웹페이지문서(파일)을 보낸다
  • Protocol: 컴퓨터끼리 어떻게 html 파일을 주고 받을지에 대한 소통방식 또는 약속.

⇒ html을 전송할 때의 규약….?정도로 보면 될 것 같다.


HTTP의 2가지 특징


1. Request / Response

소통의 핵심은 요청과 응답

말이 아닌 메세지의 형식으로 요청하고 응답한다.

2. Stateless

http 개별통신은 모두 독립이어서, 과거의 http 통신의 결과를 보존하지 않는다. 말 그대로 state(상태) + less(없음)

stateful은 상태를 저장하지만, stateless에서는 상태를 저장하지 않는다. 따라서 매 통신마다 사전에 필요한 모든 정보를 담아서 요청을 보내야만 한다. 이 때 대표적으로 많이 쓰는 게 token!!



Request와 Response의 메세지 구조


Request

  1. start line: 요청의 첫번째 줄

    • http method: 요청이 의도한 액션을 정의
    • request target: 요청이 전송되는 목표 url
    • http version: http 버전

    ⇒ POST/login HTTP/1.1

  2. headers: 요청의 메타데이터를 담고 있는 부분.

    • {key: value}의 형태로 존재.
  3. Body: 요청의 실제 내용. 요청 메소드에 따라 존재하지 않을 수도 있다.

Response

  1. status line: 응답의 첫번째 줄 - 상태를 나타냄

    • http version
    • status code

    다 외울필요 없음. 구글링하면 다 나옴^____^

    근데 이건 자동으로 설정되는 것이 아니라 우리가 지정해주어야 하는 거라 프론트-백 사이의 원활한 커뮤니케이션을 위해서는 규칙을 꼭 지켜주어야 한다..!^^

    • status text: 응답의 상태를 간략히 설명하는 텍스트. 조금 더 직관적이고 명확함
  2. headers

  3. body: 여기에도 메세지가 있는데 status text와 나눠놓은 이유는 body의 메세지는 임의로 지정할 수가 있어서 보다 명확한 communication을 위해서는 status text를 사용한다.


HTTP request Methods


  • get: 데이터를 받아오기만 할 때 사용
  • post: 데이터를 생성/수정할 때. body에 담는 내용이 핵심
  • delete: 서버에 저장된 특정 데이터를 삭제할 때 사용
profile
프론트엔드 개발자👩‍💻

0개의 댓글