TIL # 30 HTTP

Mikyung Lee·2021년 1월 22일
0
post-thumbnail

HTTP:

  • HyperText
    - HTML(HyperText Markup Language)
    • HyperText = 문서와 문서가 링크로 연결 되어 있음을 뜻함
  • Transfer
    전송하다 = 물건이나 편지 따위를 보내다
    HTML로 만든 웹페ㅣ지 문서(파일)을 보낸다
  • Protocol
    컴퓨터끼리 어떻게 HTML 파일을 주고 받을지에 대한 소통방식 또는 약속

HTTP의 두가지 특징

  1. Request/Response (요청/응답)
    소통의 핵심은 요청과 응답
    인간의 소통방식이 => 컴퓨터 끼리의 소통방식에도 적용된 것
    HTTP 요청과 응답은 그저 메세지에 불과하다.
  2. Stateless = State(상태) + less(없음)
    HTTP 통신 (요청/응답)은 과거의 HTTP 통신에 대한 내용을 전혀 알지 못 함
    매 통신 마다 필요한 모든 정보를 담아서 요청을 보낸다.

Request 메시지 구조

  • Star Line
    Post / users/login
    HTTP/1.1
  • Headers
    Headers: {
    Host
    User-Agent
    Content-Length
    Content-Type
    }
  • Body
    Body: {
    "username": "wecode"
    "password": "wecode1"
    }

Response 메시지 구조

  • StatusLine
    HTTP/1.1 200 OK
  • Headers
    Headers: {
    Host
    Server
    Content-Type
    Content-Length
    }
  • Body
    Body: {
    "message": "success"
    "token": "wki3nduz..."
    }


HTTP Request Methods

  • GET
    데이터를 받아오기만 할 때
    웹페이지에 접속해서 필요한 데이터를 불러올 때
  • POST
    데이터를 생성 / 수정 할 때 사용
    Body에 담는 내용이 핵심
  • Delete
    서버에 저장된 특정 데이터를 삭제할 때



Response Status Codes

  • 200: OK
  • 201: Created (무언가가 잘 생성되었을 때, 대게 Post 메소드의 요청에 따라 보내진다)
  • 400: Bad Request (해당 요청이 잘못되었을 때. 요청의 Body에 보내는 내용이 잘못되었을 때. ex) 전화번호를 보내야 하는데 숫자가 아닌 문자열의 주소가 대신 Body에 담겼을 경우)
  • 401: Unauthorized (유저가 해당 요청을 진행하려면 먼저 로그인을 하거나 회원가입이 필요하다는 의미)
  • 403: Forbidden (유저가 해당 요청에 대한 권한이 없다는 뜻)
  • 404: Not Found (요청된 URI 가 존재하지 않다는 의미)
  • 500: Internal Server Error (서버에서 에러가 났을 때)

Review

  1. HTTP는 컴퓨터 끼리의 소통을 위한 통신규약이다.
  2. HTTP 통신은 Request(요청)과 Response(응답)으로 이루어 진다.
  3. HTTP 통신의 매 요청과 응답은 이전 상태를 알지 못 한다. (Stateless)
profile
front-end developer 🌷

0개의 댓글