코딩스토리

HTTP 프로토콜 본문

Web/JavaScript

HTTP 프로토콜

kimtaehyun98 2021. 4. 11. 21:33

HTTP란 Hyper Text Transfer Protocol의 약자로 클라이언트와 서버 사이의 데이터 교환에 사용되는 프로토콜이다. 

 

클라이언트(사용자, 브라우저)가 서버에 요청하는 것을 요청(request), 요청에 대한 답으로 서버가 클라이언트에게 보내는 것을 응답(response)이라고 한다.

 

HTTP는 어플리케이션 레이어에 속한 프로토콜이다. 

 

웹 페이지가 우리에게 보이는 과정을 간단하게 살펴보면

 

  1. 웹 브라우저가 Web 페이지의 HTML 문서를 가져오기 위해 서버로 요청(request)을 보낸다.
  2. Web 페이지의 파일들을 분석하여 실행해야 할 스크립트, 하위 리소스들(이미지, 비디오 등), 레이아웃 정보 등 에 해당하는 추가적인 요청들에 대한 응답(response)을 서버로부터 받는다.
  3. 브라우저는 완전한 문서인 Web 페이지를 표시하기 위해 위에서 받은 리소스들을 혼합한다.

 

프록시(Proxy)란 서버와 클라이언트 사이의 중계기로써 대리로 통신을 수행하는 것을 말한다.

Proxy란 단어 자체가 "대리"라는 뜻을 가지고 있다. 이런 Proxy 기능을 하는 서버를 Proxy 서버라고 한다.

 

 

HTTP 메시지

 

요청(request)

요청(request)는 위와 같이 구성된다.

Method(get, post 등) : 클라이언트가 수행하고자 하는 동작을 정희한 동사

Path : 경로

 

 

응답(response)

Status code : 상태 코드, 요청이 성공적으로 이루어졌는지와 그 이유를 나타냄. 200이 정상

 

 

HTTP 요청 메소드들

 

Get : 특정 리소스의 표시를 요청 (Get으로 요청하게 되면 데이터를 받기만 할 수 있다.)

즉 데이터를 읽거나 검색할 때에 주로 사용되는 메서드이다. (데이터를 수정하지 않기 때문에 안전)

정상 Status code = 200(OK)

 

Post : 새로운 리소스를 생성할 때 사용

Post 메서드로 요청 시 추가적인 데이터를 body에 포함하여 보낼 수 있다.

정상 Status code = 201(Created)

 

Put : 새로운 리소스를 생성할 때 사용

Post와 다른 점은 Put은 멱등성을 가진다. 즉 Put은 한 번 보내나 여러 번 보내나 같은 효과를 보인다.

 

Patch : 리소스의 부분만을 수정

 

Delete : 특정 리소스를 삭제

 

 

참고 사이트 

developer.mozilla.org/ko/docs/Web/HTTP/Overview

 

HTTP 개요 - HTTP | MDN

HTTP 개요 HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜입니다. HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜이기도 합니다. 클라이

developer.mozilla.org

developer.mozilla.org/ko/docs/Web/HTTP/Methods

 

HTTP 요청 메서드 - HTTP | MDN

HTTP 요청 메서드 HTTP는 요청 메서드를 정의하여, 주어진 리소스에 수행하길 원하는 행동을 나타냅니다. 간혹 요청 메서드를 "HTTP 동사"라고 부르기도 합니다. 각각의 메서드는 서로 다른 의미를

developer.mozilla.org

 

 

 

 

 

 

 

 

 

 

Comments