HTTP

박광수·2022년 3월 13일
0

HTTP란?

  • Hyper Text Transfer Protocol
  • Hyper Text : 문자와 문서가 링크로 연결되어 있음을 뜻함
    참고 , HTML : (Hyper Text Markup Language)
  • 즉 컴퓨터끼리 어떻게 HTML 파일을 주고 받을 지에 대한 소통 방식 또한 약속을 뜻한다.
  • Request : Client에서 Server로 요청
  • Response : Server에서 Client로 응답

Stateful VS Stateless

  • Stateful
    정보가 저장되면서 누적된 정보를 바탕으로 소통함
    정보 저장을 위한 서버가 많이 필요하다.
    요청받는 주체가 바뀌게 되면 누적된 정보를 알 수 없다.
  • Stateless
    과거의 통신에 대한 정보가 없이 소통함.
    소통하는 데이터의 양이 많아진다.
    매 통신마다 필요한 모든 정보를 담아서 요청을 보내야 한다는 것을 의미한다.
  • HTTP 는 'STATELESS' 한 특징을 갖는다.

Request의 구조

  • Start Line : 요청의 첫번째 줄
    HTTP Method: 해당 요청이 의도한 액션을 정의하는 부분. 주로 GET, POST, DELETE가 많이 쓰임
    Request target 해당 request가 전송되는 목표 url
    HTTP Version : 말 그대로 사용되는 HTTP 버전을 뜻한다. 주로 1.1 버전이 널리 쓰임

  • Headers : 요청에 대한 정보 (요청의 메타데이터)를 담고 있는 부분
    Headers:{
    Host:
    User-Agent:
    Content-Type:
    Content-Length:
    }
    Host: 요청을 보내는 목표(타겟, 웹사이트)의 주소.
    User-Agent: 요청을 보내는 클라이언트의 대한 정보 (ex. chrome, firefox, safari)
    Content-Type: 해당 요청이 보내는 메세지 body의 타입 (ex. application/json)
    Content-Length: body 내용의 길이
    Authorization: 회원의 인증/인가를 처리하기 위해 로그인 토큰을 Authroization 에 담는다

  • Body : 요청의 실제 내용
    Body:{
    }

Response의 구조

  • Status Line 응답의 첫번째 줄 - 상태를 나타냄
    HTTP Version : 요청의 HTTP버전과 동일
    Status Code : 응답 메세지의 상태 코드
    Status Text : 응답 메세지의 상태를 간략하게 설명해주는 텍스트
    Headers:{
    Host:
    User-Agent:
    Content-Type:
    Content-Length:
    }

  • Headers: 요청의 헤더와 거의 동일. 응답의 추가 정보(메타 데이터)를 담고있는 부분.

  • Body : 요청의 실제 내용
    Body:{
    }

  • status code 의 종류
    Success
    200: OK
    201: Created
    Client Error
    400: Bad Request
    401: Unauthorized
    403: Forbidden
    404: Not Found
    Server Error
    500: Internal Server Error

Rquest 메소드

  • GET
    데이터를 받아오기만 할 때 사용
    웹페이지에 접속해서 필요한 데이터를 불러올 때 사용

  • POST
    데이터를 생성/수정할 떄 사용
    Body에 담는 내용이 핵심!

  • DELETE
    서버에 저장된 특정 데이터를 삭제할 때 사용

profile
박광수입니다.

0개의 댓글

관련 채용 정보