OMS

HTTP Request Methods

주연배 2024. 10. 27. 13:49

HTTP

HTTP (Hyper Text Transfer Protocol)
인터넷에서 서로 데이터를 주고받을 수 있는 프로토콜

 

프로토콜

컴퓨터 네트워크에서 데이터가 어떻게 교환되고 처리될지에 대한 규칙과 절차의 집합

 

HTTP Request Methonds (요청)

클라이언트가 웹서버에게 요청하는 목적과 그 종류를 알리는 수단을 말한다. 

 

종류 ⬇️

더보기
GET 리소스(데이터)를 받음
URL 형식으로 서버 측에 리소스를 요청

 

HEAD 메세지 헤더 정보를 받기 위함
실제 문서 요청이 아닌 문서에 대한 정보 요청이다.

Response 받았을때, body는 비어있고,
Header 정보만 들어있다. 

 

POST 내용 및 파일 전송
클라이언트에서 서버로 어떤 정보를 제출하기 위해 사용

Request 데이터를 HTTP Body에 담아 웹 서버로 전송

 

 

PUT 리소스(데이터)를 갱신 - 전송 가능
POST와 유사하지만 기존 데이터를 갱신할 때 사용함

클라이어트측이 서버측 구현에 관여함 -> POST를 더 많이 씀

 

 

DELETE 파일 삭제
웹 리소스 삭제

 

 

CONNECT 클라이언트와 서버 사이의 중간 경유를 위함
거의 사용 x

 

 

PATH 리소스(데이터)의 일부분만 갱신하기 위함
리소스의 일부분만 수정할 때 쓰임

 

 

OPTIONS 서버 측 제공 메소드에 대한 질의를 하기 위함
 서버 측에서 지원하고 있는 메소드가 무엇인지 알기 위해 사용

 

 

TRACE Request 리소스가 수신되는 경로를 보기 위함
 서버로부터 받은 내용을 확인하기 위해 loop-back 테스트를 할 때 사용한다. 

 


 

HTTP 메세지

정보가 담긴 메세지
시작줄, 헤더, 본문으로 구성

 

- 요청 HTTP 메세지 예시 (f)

//시작줄(메서드 주소 버전으로 구성)
GET https://www.zerocho.com HTTP/1.1  

//헤더 (요청에 대한 정보), * 주수로만 요청을 보냈기에 본문이 비어있다(body)
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ... 
Upgrade-Insecure-Requests: 1

 

- 응답 HTTP 메세지 예시 (b)

HTTP/1.1 200 OK //시작줄(버전 / 상태 코드 / 상태 메세지)
Connection: keep-alive //헤더
Content-Encoding: gzip  // (gzip 압축)
Content-Length: 35653
Content-Type: text/html; //html문서


//본문 (실제 html 콘텐츠가 시작되는 부분, 클라이언트가 요청한 웹 페이지의 HTML코드가 포함된다.)
<!DOCTYPE html><html lang="ko" data-reactroot=""><head><title... 

1. 클라이언트 -> 요청 -> 서버
2. 서버 : 요청 처리, 응답을 생성해 클라이언트에게 전송
3. 클라이언트 : 응답을 받고, 상태 코드와 헤더를 확인 후 본문을 랜더링해 사용자에게 표시함!

 
정리

클라이언트 : 서버에게 요청을 함(Request)
서버 : 요청에 대한 응답을 보내준다(Response)

 

느낀점

더보기

예전에 ITSHOW를 준비하면서 나는 프론트의 역할이 그냥 단순히 UI와 동적인 부분만 만들고 끝나는 것인줄 알았다. 근데 알고보니 프론트 쪽에서 서버 측에서 만든 코드에 요청을 보내고 연결하는 작업을 해야된다는 것이었다!! 그때는 뭐가 뭔지 잘 모르고 무작정 코드를 붙여넣기에만 급급했다. 그치만 HTTP의 개념과 클라이언트와 서버의 역할을 이해하면서 예전에 들었던 용어들이 왜 그렇게 필요한지 조금씩 알게 되었다. 아직도 서버를 직접 연결하여 사용자에게 표시하는 작업이 익숙하지는 않지만, 계속해서 더 공부하며 나아갈 예정이다~