본문 바로가기
JSP

[JSP] 0. 사전 기반 지식 - (2) 통신 프로토콜과 HTTP

글: Song hyun 2024. 6. 27.
728x90
반응형

[JSP] 0. 사전 기반 지식 - (2) 통신 프로토콜

 

(1) 통신 프로토콜이란?

-웹 서버에 있는 자원을 클라이언트가 받아보려면, 클라이언트는 웹에게 특정 자원을 제공해달라고 요청해야한다. 그러면 서버가 해당 요청을 이해하고, 대응되는 동작을 통해 클라이언트에게 리소스를 반환한다. 

=> 여기서 클라이언트의 행위를 요청, 서버의 행위를 응답이라고 한다.

=> 요청과 응답은 일상 속에서도 찾아볼 수 있다. A가 B에게 "B야, 물 한 잔 좀 줘."라고 말하고, B가 A에게 물컵을 건네어 줬다면, 이는 요청과 응답이라고 볼 수 있다.

 

-프로토콜은 위와 같이 규격화된 상호작용에 적용되는 약속을 말한다. (동등한 개념의 약속) 

-사람과 사람 간의 상호작용에서는 관습을 따르되, 약간의 융통성을 발휘해도 정보 교환에는 큰 문제가 없다. 

-하지만 컴퓨터와 컴퓨터 간의 통신에서는 엄격한 프로토콜을 사용해야 한다. 해당 프로토콜을 따르지 않으면 통신 오류가 발생할 수도 있다. => 그래서 많은 컴퓨터 프로토콜은 각 통신 주체가 교환하는 데이터를 해석할 수 있게 엄격한 문법 체계를 지닌다. 해당 문법 체계를 벗어난 요청/응답을 하면, 잘못 전송된 것으로 취급해 무시한다.

 

-표준 통신 프로토콜에는 TCP/IP, HTTP, FTP등 다양한 종류가 있다.

 

 

(2) HTTP 통신 = 응답과 요청의 여행!

-HTTP(Hyper Text Transfer Protocol)은 서버와 클라이언트의 데이터 교환을 요청과 응답 형식으로 정의한 프로토콜이다. 팀 버너스 리와 그의 팀이 제정한 뒤, 이는 현대 웹 서비스의 바탕이 되었다. 

 

*HTTP 통신을 요청할 때, HTTP 메세지를 만들어서 보낸다. = Request (GET)

*HTTP 통신을 응답할 때, HTTP 메세지를 만들어서 보낸다. = Response

-GET: 서버에 있는 자원 요청 시 사용하는 프로토콜

 

-200번: 오류 없이 정상 작동

-404번: 해당 주소가 없음

 

-컨텐츠 타입: 이렇게 던질거다! 그러니까 사용자에게 보여줄 준비해라! (=예고장)

 

-HTTP 메세지는 클라이언트가 전송하는 HTTP 요청, 그리고 서버가 반환하는 HTTP 응답으로 나뉜다. 크게 보면 이들은 헤드와 바디라는 요소로 구성된다는 공통점이 있다.

(1) HTTP 헤드: 각 줄은 CRLF로 구분되며, 첫 줄은 시작 줄, 나머지 줄은 헤더라고 부른다. 헤더의 끝은 CRLF 한 줄로 나타낸다.

(2) HTTP 바디: 바디는 헤드의 끝을 나타내는 CRLF 뒤, 모든 줄을 의미한다. 클라이언트/서버에게 전송하려는 데이터가 바디에 담긴다.

 

728x90
반응형