본문 바로가기

Network

웹 애플리케이션의 프로토콜 : HTTP

브라우저-서버가 통신할 수 있도록 만들어주는 여러 프로토콜 가운데 한 종류.

** Protocol : 통신규약, 즉 약속이다.

손님이 주문을 받는 사람에게 대뜸 찾아가 외계어로 주문을 할 수 없듯이, 주문을 하기 위해서는 꼭 지켜야 하는 약속이 존재.

 

** 웹 애플리케이션 아키텍쳐에서는, 클라이언트와 서버가 서로 HTTP라는 프로토콜을 이용하여 대화를 나눈다.

 

[ Client --> Server ]

< HTTP messages - request >

GET /americano HTTP/1.1

Host: starbucks.com

 

[ Server --> Client ]

< HTTP messages - response >

HTTP/1.1 200 OK

{"data": "americano"}

 

HTTP를 이용해 주고받는 메시지 : HTTP message

 

 

1> 방법 측면

[ Case Study: 커피주문 ]

커피를 주문할 수 있는 여러가지 방법 --> 서버와 통신할 수 있는 다양한 방법(다양한 프로토콜)이 존재

  • 프로토콜1 : 직접 카운터로 찾아감
  • 프로토콜2 : 모바일 앱 이용
  • 프로토콜3 : 키오스크

방법 하나하나가 전부 프로토콜.

같은 일을 하기위해 '다양한 방법'이 존재.

클라이언트-서버 통신을 하기위해 HTTP, HTTPS 등 방법이 다양한 것 처럼.

 

2> 규약 측면

제대로 된 통신을 위해서는 규약(약속)을 지켜야만 한다.

우편 발송 시, 수신자에 대한 아무런 표기가 없다면 전송 요청은 갈길을 읽는다. 또한, 수신자를 적어도 우표를 붙이지 않으면 반송이된다.

프로토콜 : 각자의 프로토콜마다 지켜야 하는 규약 존재.

HTTP Message : HTTP만의 규칙 존재.

 

[주요 프로토콜]

1. 2. .... 7. 응용 계층

 

  • HTTP : 웹에서 HTML, JSON 등의 정보를 주고받는 프로토콜
  • HTTPS : HTTP에서 보안이 강화된 프로토콜
  • FTP : 파일 전송 프로토콜
  • ...

 

'Network' 카테고리의 다른 글

HTTPS 통신과정  (0) 2021.11.04
[얄팍한 코딩사전] HTTP는 뭘까?  (0) 2021.11.04
HTTP Messages  (0) 2021.09.23
브라우저의 작동 원리 (보이지 않는 곳) 1. URL & URI  (0) 2021.09.23
API & REST API 개념  (0) 2021.09.22