본문 바로가기
프로그래밍/Node.js

[3] 인터넷 쓸때마다 들어본 이름, HTTP란? ( + 웹서버 / GET과 POST차이)

by 제이스톨 2023. 6. 13.
728x90

- HTTP

: 우리가 인터넷을 쓰다보면 흔히 볼 수 있는 http란 전 세계에서 가장 널리 쓰이는 통신 규약이라고 생각하면 된다.

여기서 통신규약이란.. 컴퓨터끼리 데이터를 주고 받을때 정해둔 "약속"을 의미한다.

 

Q. HTTP로 어떻게 데이터를 주고 받나..??

A. HTTP에서는 언제나 Request, Response라는 개념이 존재하는데 

브라우저는 서버에게 자신이 원하는 페이지(URL)을 요구(Request)하고 + 서버는 브라우저가 원하는 페이지가 있는지 확인한 다음 해당 페이지에 대한 데이터를 반환(Response) 하게된다.

 

- 개발자 도구와 네트워크 탭을 사용하여 http 확인 가능

브라우저와 서버의 관계


- 웹서버란?

: 인터넷을 통해 HTTP를 이용하여 웹상에서 클라이언트의 요청을 응답해주는 통신을 하는 컴퓨터 또는 프로그램을 말한다.

전세계 웹서버 점유율


< GET 메소드POST 메소드 차이 >

: HTTP에는 크게 Method, Header, Payload가 있다.

 

- Method

  • GET : 이름 그대로 어떤 리소스를 "얻을 때" 사용된다. 브라우저는 기본적으로 우리가 웹 서핑을 한다고 가정하므로 모든 요청은 GET 메서드를 사용해서 서버에 요청을 보낸다.
  • POST : 웹 서버에 데이터를 "게시할 때" 사용된다. 예를 들면, 회원가입, 게시글 작성, 댓글 작성에 사용된다.

- Header

: 의사표현에 필요한 데이터를 모두 Header 필드에 넣고 주고 받는다.

[ Method 또한 Header에 포함되어 서버로 보내지게 된다. ]

 

- Payload

: 페이로드(payload)라는 단어는 운송업에서 비롯하였는데, 지급(pay)해야 하는 적화물(load)을 의미합니다. 예를 들어, 유조선 트럭이 20톤의 기름을 운반한다면 트럭의 총 무게는 차체, 운전자 등의 무게 때문에 그것보다 더 될 것이다. 이 모든 무게를 운송하는데 비용이 들지만, 고객은 오직 기름의 무게만을 지급(pay)하게 된다. 그래서 ‘pay-load’란 말이 나온 것이다.

서버가 응답을 보낼 때는 항상 Payload를 보낼 수 있다. (단, GET 메소드를 제외하곤 모두 Payload를 내보낼 수 있다..)

{
	"status" : 
	"from": "localhost",
	"to": "http://melonicedlatte.com/chatroom/1",
	"method": "GET",
	"data":{ "message" : "JStol is nice!" }
}

728x90