ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP 프로토콜
    Note 2020. 11. 12. 19:44

    HTTP(Hypertext Transfer Protocol)

    프로토콜이란 상호 간에 정의한 규칙을 의미하며 특정 기기 간에 데이터를 주고받기 위해 정의

    웹에서는 브라우저와 서버 간에 데이터를 주고받기 위한 방식으로 HTTP 프로토콜을 사용

     

    특징

    HTTP 프로토콜은 상태가 없는(stateless) 프로토콜

     

    상태가 없다는 말은 데이터를 주고받기 위한 각각의 데이터 요청이 서로 독립적으로 관리가 된다는 말로 이전 데이터 요청과 다음 데이터 요청이 서로 관련이 없다는 말이다.

     

    이런 특징 덕분에 서버는 세션과 같은 별도의 추가 정보를 관리하지 않아도 되고, 다수의 요청 처리 및 서버의 부하를 줄일 수 있는 성능 상의 이점이 생긴다. 

     

    HTTP 프로토콜은 일반적으로 TCP/IP 통신 위에서 동작하며 기본 포트는 80번이다.

     

    HTTP Request & HTTP Response

    HTTP 프로토콜로 데이터를 주고받기 위해서는 아래와 같이 요청(Request)을 보내고 응답(Response)을 받아야 한다.

    출처: 프런트엔드 개발자가 알아야하는 HTTP 프로토콜 Part 1 / 캡틴판교

     

    그리고 요청과 응답을 이해하기 위해서는 먼저 클라이언트(Client)와 서버(Server)를 이해해야 한다.

     

    클라이언트란 요청을 보내는 쪽을 의미하며 일반적으로 웹 관점에서는 브라우저를 의미하고, 서버란 요청을 받는 쪽을 의미하며 일반적으로 데이터를 보내주는 원격지의 컴퓨터를 의미한다.

     

    URL

    URL(Uniform Resource Locators)은 서버에 자원을 요청하기 위해 입력하는 영문 주소

     

    URL 구조는 아래와 같다.

    출처: 프런트엔드 개발자가 알아야하는 HTTP 프로토콜 Part 1 / 캡틴판교

     

    HTTP 요청 메서드

    앞에서 살펴본 URL을 이용하면 서버에 특정 데이터를 요청할 수 있다. 여기서 요청하는 데이터에 특정 동작을 수행하고 싶으면 HTTP 요청 메서드(Http Request Methods)를 이용한다.

     

    일반적으로 HTTP 요청 메서드는 HTTP Verbs라고도 불리며 아래와 같이 주요 메서드를 갖고 있다.

    • GET : 존재하는 자원에 대한 요청
    • POST : 새로운 자원을 생성
    • PUT : 존재하는 자원에 대한 변경
    • DELETE : 존재하는 자원에 대한 삭제

    이와 같이 데이터에 대한 조회, 생성, 변경, 삭제 동작을 HTTP 요청 메서드로 정의할 수 있다. 참고로 때에 따라서는 POST 메서드로 PUT, DELETE의 동작도 수행할 수 있다.

     

    기타 요청 메서드는 다음과 같습니다.

    • HEAD : 서버 헤더 정보를 획득. GET과 비슷하나 Response Body를 반환하지 않음
    • OPTIONS : 서버 옵션들을 확인하기 위한 요청. CORS에서 사용

     

     

     

     

    출처: 프런트엔드 개발자가 알아야하는 HTTP 프로토콜 Part 1 / 캡틴판교

    'Note' 카테고리의 다른 글

    HTTP 응답 코드  (0) 2020.11.16
    node.js, module  (0) 2020.11.16
    Asynchronous & Promise  (0) 2020.11.10
    Ajax, SPA  (0) 2020.11.09
    undefined, null, undeclared  (0) 2020.10.29

    댓글