HTTP

김경천·2021년 5월 24일
0

HTTP

컴퓨터들끼리 HTML파일을 주고받을 수 있도록 하는 소통방식 또는 약속이다.

HyperText
HTML의 HyperText와 의미가 동일하다.
HTML은 웹페이지를 만들기 위해서 웹브라우저 위에서 동작하는 언어이다.

Transfer
전송하다라는 의미를 가진다.
보내느 주체와 받은 주체가 있따는 큰 특징있다.

Proctocol
협약, 통신 규약 이라는 의미를 가진다.
물리적으로 떨어진 컴퓨터 끼리 어떻게 HTML파일(HyperText)을 주고 받을지에 대한 약속이다.

HTTP의 두가지 특징

1.Request/Response(요청/응답)

소통의 핵심은 요청과 응답

Request 메세지 구조

요청과 응답 모두 메시지의 형식이다.

  • Start Line : 요청의첫번째 줄

    • HTTP method : 요청이 의도한 액션을 정의한다.
    • Request target : 요청이 전송되는 목표 url이다.
    • HTTP version: HTTP 버젼
  • Headers : 요청의 메타데이터(정보의 형태)를 담고 잇는 부분이다.

    • { Key : value} 의 형태이다.
      Hearders: {
      	Host: www.wecode.co.kr
          	User-Agent : chrome
              Content-Length :  50}
  • Body : 요청의 실제 내용 담겨있다.

Response 메세지 구조

  • Status Line : 응답의 첫번째 줄 -상태를 나타낸다.

    • HTTP version : HTTP 버젼
    • Status Code : 응답 상태 코드
    • Status Text : 응답의 상태를 간략히 설명하는 텍스트
  • Headers : 응답의 메타데이터를 담고 있는 부분

    • { Key: value}의 형태이다.
  • Body : 응답해줄 데이터가 담겨있다.(요청 메소드에 따라 존재하지 않을 수 도잇다.

2. Stateless

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

매 통신마다 사전에 필요한 모든 정보를 담아서 요청을 보내야만 한다.

HTTP Request Methods

GET

  • 데이터를 받아고민 할때 사용한다.
  • 웹페이지에 접속해서 필요한 데이터를 불러올 때 사용한다.

POST

  • 데이터를 생성/ 수정할 때 사용한다.
  • Body에 담는 내용이 핵심!이다.

DELETE

  • 세버에 저장된 특정 데이터를 삭제할 때 사용한다.

대표적인 response status code의 종류

200: OK

  • 가장 자주 보게되는 Status Code
  • 문제없이 요청에 대한 처리가 백엔드 서버에서 이루어지고 나서 오는 응답코드
  • 우리는 모두 200 OK 를 원한다

201: Created

  • 무언가가 잘 생성되었을 때에(Successfully Created) 오는 Status Code
  • 대게 POST 메소드의 요청에 따라 백엔드 서버에 데이터가 잘 생성 또는 수정 되었을 때에 보내는 코드

400: Bad Request

  • 해당 요청이 잘못되었을 때 보내는 Status Code
  • 주로 요청의 Body에 보내는 내용이 잘못되었을 때 사용되는 코드
    ex) 전화번호를 보내야 하는데 숫자가 아닌 문자열의 주소가 대신 Body에 담겼을 경우

401: Unauthorized

  • 유저가 해당 요청을 진행하려면 먼저 로그인을 하거나 회원가입이 필요하다는 의미
    ex) wish list, 좋아요 기능은 회원이 아니면 요청을 보낼 수 없음

403: Forbidden

  • 유저가 해당 요청에 대한 권한이 없다는 뜻
  • 접근 불가능한 정보에 접근했을 경우
    ex) 오직 유료회원만 접근할 수 있는 데이터를 요청 했을 때

404: Not Found

  • 요청된 URI 가 존재하지 않는다는 의미

500: Internal Server Error

  • 서버에서 에러가 났을 때의 Status Code
profile
화이팅

0개의 댓글