[Day 10] 통신 & HTTP에 대해

grl pwr·2022년 6월 3일
0

📌 HTTP란?


🌟 How do we commmunicate?

Hyper Text: HTML(Hyper Text Markup Language): 문서와 문서가 링크로 연결되어 있음

Transfer: HTML 로 만든 웹페이지 문서(파일)를 보낸다

Protocol : 컴퓨터끼리 어떻게 HTML 파일을 주고 받을 지에 대한 소통 방식 또는 약속


📌 How does HTTP work?


  • client가 좋아요를 누르거나 swipe를 하면 server한테 request를 하고 server가 response를 한다

📌 HTTP 특징


  • Request and Response
  • Stateless: HTTP 개별 통신은 모두 독립이어서, 과거의 HTTP 통신 결과(상태)를 보존하지 않는다

📌 Request 메시지 구조


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

    • HTTP method: 요청이 의도한 액션을 정의
    • Request target: 요청이 전송되는 목표 url
    • HTTP version: HTTP 버전
      POST / login HTTP/1.1
  2. Headers: 요청의 메타데이터를 담고 있는 부분. {key : value}의 형태

    • Headers : {
      host: www.wecode.co.kr
      user-agent: chrome
      content-type: application.json
      content-length: 50
      }
  3. Body


📌 Response 메시지 구조


  1. Status Line: 응답의 첫 번째 줄 - 상태를 나타냄
    • HTTP version
    • Status Code
    • Status Text
      HTTP/1.1 404 Not found
      HTTP/1.1 200 Success
  2. Headers: 응답의 메타데이터를 담고 있는 부분
    {key : value}의 형태
    • headers : {
      host: www.wecode.co.kr
      user-agent: chrome
      content-type: application.json
      content-length: 50
      }
  3. Body

📌 HTTP Request Methods


  • get: 데이터를 받아올 때만 사용. 웹페이지에 접속해서 필요한 데이터를 불러올 때 사용
  • post: 데이터를 생성/수정할 때 사용
  • delete: DELETE 메서드는 지정된 리소스를 삭제. 204 no content.

📌 Status Code


✏️ Success:

- 200: OK

가장 자주 보게 되는 Status Code. 문제없이 요청에 대한 처리가 백엔드 서버에서 이루어지고 나서 오는 응답코드

- 201: Created

무언가 잘 생성 되었을 때 successfully created. 대게 POST 메소드의 요청에 따라 백엔드 서버에 데이터가 잘 생성 또는 수정 되었을 때 보내는 코드

- 204: No Content

요청이 성공했으며 제공할 응답 메시지가 없을 경우. 주로 delete 메소드의 요청으로 성공적으로 삭제되어서 응답으로 제공할 컨텐츠가 없을 때 사용


✏️ Failure:

- 400: Bad Request

해당 요청이 잘못 되었을 때. 주로 요청의 Body에 보내는 내용이 잘못 되었을 때

- 401: Unauthorized

해당 요청을 진행하려면 먼저 로그인 또는 회원가입이 필요하다라는 의미

- 403: Forbidden

유저가 해당 요청에 대한 권한이 없다는 의미. 접근 불가능한 정보에 접근했을 경우를 의미

- 404: Not found

요청된 URL이 존재하지 않는다는 의미

- 500: Internal Server Error. 서버에서 에러가 났을 때


🎯 위코드 강의를 바탕으로 작성 됨

profile
4대륙 개발자

0개의 댓글