작성한 부스트코스 후기입니다.
여러분들의 성원에 더 노력하는 부스트코스가 되겠습니다.
감사합니다.
******************************************
HTTP 프로토콜?
HTTP(Hyper Text Transfer Protocol)은 이름 그대로 HyperText를 전송하는 규약을 의미하며,
우리가 사용하는 WEB은 이 규칙을 따라서 웹페이지를 전송하고 있습니다.
SERVER-CLIENT
HTTP는 서버 클라이언트 모델을 사용합니다.
클라이언트라는 용어에서 알 수 있듯이, 정보를 가진 주인(server)가 손님(client)가 요청하는 정보에
따라 그때 그때 맞는 정보를 주는 것입니다. (보안에 따라서 안줄때도 있습니다)
왜 이런 방식을 사용하냐면, 이 방식이 다수의 client가 존재 할때 유리 하기 때문입니다.
아래 그림을 볼까요?
서버클라이언트 모델이 아닐경우(좌측) 정보의 주인은 한번에 '자신이 한번에 만날 수 있는 최대의 인원 -그림에서는 1명'만 하고 거래를 할 수 있습니다. 반면에 우측의 경우 주인장(서버)이 볼일이 있는 사람과 그 순간에만 거래를 진행합니다. 이 거래의 순간은 매우 짧은 순간이기 때문에 주인(서버)가 만날 수 있는최대 사람의 숫자(1명)보다 많은 사람과 거래하는 것 처럼 거래를 진행할 수 있습니다.
즉, 다수의 사람이 사용하기에 적합한 모델이라서 HTTP도 서버-클라이언트 모델을 사용하고 있습니다.
다만 , 이러한 모델에서는 이전 클라이언트와 나눈 데이터를 기록해두지 않습니다. 즉, 내가 정보를 주고받은 클라이언트가 누구였는지 기억 하지 않는다는 것이죠, 이를 보완하기 위해서 내가 서버랑 어떤 데이터를 주고 받았었는지 남겨주는 기술인 쿠키(Cookie)같은 기술이 발전했습니다.
URL
URL(Uniform Resourse Locator)는 서버 상에서 특정한 자원(그림, 동영상, 텍스트, 웹페이지 등등)이 어디에 있는지 알려주는 주소입니다. 클라이언트가 서버에 '내가원하는 자료는 어디어디 있는데 좀 찾아서 가져와 줘' 하는 것입니다. 이러한 위치 주소 없이 막무가내로 데이터를 달라고 하면 서버가 좀 난감하지 않겠습니까?
HTTP 작동방식
HTTP는 일종의 편지 처럼 기능합니다.
편지에는 보내는 사람, 받는 사람, 내용(혹은 내용물) 이렇게 구성 되어있습니다.
HTTP도 마찬가지입니다.
HTTP방식으로 데이터를 전송할 때, 요청부분에는
GET(어디에서)
HOST(누가)
즉, 누가 어디에 있는 자료를 원한다 라는 부분이 들어갑니다. 요청하는 사람은 보낼 데이터가 없으니 비어 있는 것을 보실 수 있습니다.
응답 부분에서는 서버가 어떻게 응답했는지에 대한 정보를 담아서 보내줍니다.
Date(언제)
Server(어느 서버가)
Content_(.... 보내는 정보의 종류, 길이 등등..)
HTTP(... Protocol의 버전과 응답 결과 - 보내줄것인지 아닌지)
응답 부분이니 이번에는 Body(몸체)에 정보도 담겨있습니다.
처음에 HTTP를 편지에 비유했었는데, 실제 사용 할때 편지처럼 보내야할 정보와 받는 정보에
누가 어디서 무엇을 주고 받는지 잘 적어놓지 않으면 HTTP 정보 전달이 불가능합니다.
첫 포스트를 마치게 되었습니다. 앞으로 잘부탁 드립니다.
******************************************