[TIL] HTTP

이나현·2021년 7월 15일
0

개발지식

목록 보기
4/14
post-thumbnail

1. 통신과 HTTP

1) HTTP

HyperText: 문서와 문서가 링크로 연결되어 있다.
Transfer(전송하다): HTML로 만든 웹페이지 문서(파일)를 보낸다. - 보내는 주체와 받는 주체가 있음
Protocol: 컴퓨터끼리 어떻게 HTML 파일을 주고 받을 지에 대한 소통 방식 또는 약속

=> 컴퓨터들끼리 HTML파일을 주고받을 수 있도록 하는 소통방식 및 약속

2) 특징

[1] Request/ Response (요청/ 응답)
소통의 핵심은 요청과 응답입니다. 인간의 소통방식이 컴퓨터끼리의 소통 방식에도 적용. 말이 아닌 메세지의 형식으로 요청하고 응답합니다.

[2] Stateless(상태 없음) > 단기기억상실증
HTTP 개별 통신은 모두 독립적이어서, 과거의 결과를 보존하지 않습니다.
매 통신마다 사전에 필요한 모든 정보를 담아서 요청을 보내야만 한다.
(ex. 로그인 정보 - 토큰에 저장 > 토큰을 들고 다니면서 먼저 보여주는 개념)

3) Request 메세지 구조

요청과 응답은 모두 메세지 형식이다. 요청 메시지 구조를 파악해 보다
[1] start Line(요청의 첫번째 줄)

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

[2] Headers (요청의 메타데이터를 담고 있는 부분)

  • 메타데이터: 데이터에 대한 정보

    {key: value}의 형태
    ex. Headers: {
    Host: www.wecode.co.kr
    User-Agent: chrome
    ..
    }

[3] Body: 요청의 실제 내용
Body :{
"username": "wecode",
"password": "1234"
}

4) Response 구조

[1] status Line: 응답의 첫번째 줄 - 상태를 나타냄

  • HTTP version
  • Status code
  • Status Text

[2] Headers : 응답의 메타데이터를 담고 있는 부분 (동일)

[3] body: 동일

2. HTTP Request Methods

[1] GET: 데이터를 받아오기만 할 때 사용
[2] POST: 데이터를 생성/수정할 때 사용 & Body에 담는 내용이 핵심
[3] DELETE: 서버 내 데이터 삭제 > body에 데이터를 담을 수 없음(request target에서 id 값으로 삭제)

3. status code

[1] Success

  • 200: ok
  • 201: created

[2] Error : 요청에 대한 응답(프론트가 고치자..)

  • 400: Bad Request
  • 401: Unautorized(누군지도 모르겠어)
  • 403: Forbidden(누군지는 알겠어 근데 권한은 없어)
  • 404: Not Found

[3] Server Error(백엔드가 고치자..)

  • 500: Internal Server Error
profile
technology blog

0개의 댓글