[Wecode] HTTP

김택수·2022년 9월 29일
0

HTTP 두가지특징

  • 하나의 요청에는 하나의 응답이 있다.
  • Stateless HTTP 개별 통신은 모두 독립적이기 때문에 과거의 결과(상태)를 보존하지 않음.
    매 통신마다 필요한 정보를 전부 담아서 한 번에 요청해야만 한다.

HTTP 메시지 구조

Request 메시지

- Start Line
HTTP Method : 요청에 대한 Method 주로 GET, POST, DELETE가 쓰임.
Request target : 요청이 전송되는 목표 url
HTTP Version : 주로 1.1 버전이 널리 쓰임.

GET /login HTTP/1.1

- Headers : 요청에 대한 메타데이터를 담고 있음.
Key와 Value값으로 구성되어있음.
Host : 요청을 보내는 타켓의 주소
User-Agent: 클라이언트의 정보(브라우저의 종류)
Content-Type : 메세지 body의 타입 (보통 json)
Content-Length : body의 길이
Authorization : 인증/인가 처리를 위한 토큰이 담김

Headers: {
	Host:
  	User-Agent:
    Content-Type:
    Content-Length:
    Authorization:
}

- Body : 요청의 실제 내용이 담김 (주로 POST 메소드에서 사용됨)

Body: {
	key: value
}

HTTP Request Methods

GET - 데이터를 받아올때
POST - 데이터를 생성 / 수정 (Body에 내용이 담김)
DELETE - 데이터를 삭제할 때

Status Code

Success

  • 200 : OK
    문제없이 통신이 가능하다는 응답코드

  • 201 : Created
    생성완료 되었을 때의 응답코드

  • 204 : No Content
    DELETE 메소드의 요청의 성공으로 데이터가 삭제되어 응답받을 body가 없을 때의 응답코드

Client Error

  • 400 : Bad Request
    보통 body에 보내는 내용이 잘못되었을 때의 응답코드

  • 401 : Unauthorized
    로그인이나 회원가입이 필요한 요청을 보냈을때의 응답코드 (회원만 가능한 기능에 대한 에러)

  • 403 : Forbidden
    요청에 대한 권한이 없다는 응답코드 (유료회원만 접속가능한 사이트에 접속했을 때의 에러)

  • 404 : Not Found
    요청한 URI가 존재하지 않을때의 응답코드

Server Error

  • 500 : Internal Server Error
    서버에서 에러가 났을 때 응답코드
profile
개발자 키우기 Lv1

0개의 댓글