1) HTTP에 대해 알아보자

joy·2021년 7월 28일
0

1. HTTP

  • HyperText Transfer Protocol
    - HyperText => HTML(Web)
    - Protocol => 하나의 컴퓨터가 다른 컴퓨터와 소통할 때(파일을 주고 받는 등) 정해진 규칙과 틀을 준수해야 원활한 소통이 가능. 여기서 정해진 규칙이 바로 'Protocol'
  • 즉 'Web'에서 HTML문서 데이터를 클라이언트와 서버가 주고 받을 때 사용되는 컴퓨터들 간의 통신 규칙 및 규약

HTTP image

  • HTTP Request(요청)과 HTTP Response(응답)으로 나뉘어져 있다.

2. HTTP Request

  • client와 server
    - client : 보통 요청을 하는 컴퓨터를 가리킨다.
    • sever : 보통 요청을 받는 컴퓨터를 가리킨다.
  • client에서 server에 요청을 보낼 때, 웹 브라우져(ex. 크롬)을 사용한다.
  • client의 목적에 따라 HTTP Request는 다르게 분류되기도 한다.
    ex. GET, POST, PUT/PATCH, DELETE ...

3. CRUD에 사용되는 HTTP Requset 메소드*

*CRUD : 데이터 처리 기능으로, Create, Update, Read, Delete의 약자이다.

HTTP 메소드에 따라 처리할 수 있는 요청들이 고정된 것은 아니다. 다만, 보통은 API를 제작할 때 참고했던 REST 가이드라인을 따라 HTTP 메소드들을 사용한다.

  • GET : 특정 리소스를 달라고 할 때 사용
    ex. 웹 페이지 로딩할 때
  • POST : 서버 측의 특정 리소스를 저장할 때 사용
    ex. 회원가입 시 특정 유저 정보를 서버에 저장할 때
  • PUT : 서버 측의 특정 리소스를 업데이터 할 때 사용(데이터 전부를 바꿀 때)
    ex. 사용자 닉네임 변경
  • PATCH : 서버 측의 특정 리소스를 업데이터 할 때 사용(데이터 부분적으로 변경할 때)
    ex. 사용자 닉네임 변경
  • DELETE : 서버 측의 특정 리소스를 삭제할 때 사용
    ex. 유저 탈퇴
  • 그 외 HTTP 메소드 참조 : https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods

4. HTTP Response

  • HTTP Response :
    - HTTP Request에 대하여 나올 수 있는 다양한 응답(경우)
    • 응답을 보낼 때는 때에 따라 상태 코드와 함께 문자열, JSON 등을 이용하여 데이터를 함께 보내기도 한다.

      ex. HTTP Request : 전화를 거는 행동
      ex. HTTP Response : 상태에 따라 응답 분류 가능
      1) 상대가 전화는 받은 상태
      - 제대로 전화하고 잘 받음
      - 없는 번호입니다..
      - 번호가 바뀌었습니다..
      - 누구세요? (잘못된 번호로 전화)
      2) 상대가 전화를 받지 않은 상태
      - 상대가 전화를 끊음
      - 전원이 꺼져있습니다..

  • 상태코드(Status Code) :
    - HTTP Request에 대한 HTTP Response 상태가 어떤지 알려준다.
    • 각 응답은 기본적으로 상태코드(Status Code) 가지고 있다.
      - 100 번대 : 정보 응답
      - 200 번대 : 성공 응답
      - 300 번대 : 리다이렉션 메세지
      - 400 번대 : 클라이언트 에러 응답
      - 500 번대 : 서버 에러 응답
    • HTTP Response Status Code 알아보기:https://developer.mozilla.org/en-US/docs/Web/HTTP/Status

5. HTTP 확인해보기

크롬 기준

  • 웹 페이지를 열어서 > 오른쪽 마우스 클릭 > 검사 탭 열기 > Network 클릭
  • 기존 페이지 새로고침 하면, HTTP 요청 메소드, HTTP 응답 status code 등 여러가지 정보 확인 가능
profile
세상의 긍정적 변화에 기여하기

0개의 댓글