이번에는 HTTP 통신에 대해 알아보는 시간을 가지자
HTTP는 hyper text transfer protocol의 약자로
통신 중에서 웹 브라우저와 웹 서버 사이에 HTML 문서를 주고 받는 데에 쓰이는 통신 프로토콜을 말한다. 현재에 들어서 JSON파일, 이미지 파일들도 전송할 수 있다.
기본적으로 HTTP에서는 80번 포트를 사용한다. HTTP 통신은 요청과 응답 방식으로 동작하는데 연결 상태를 유지하지 않는 비연결성 통신이라고도 한다.
이의 단점을 해결하기 위해서 쿠키와 세션이 후에 등장한다.
상태가 없는 무상태성이라고도 한다.
요청과 응답의 구조를 살펴보면,
요청 라인,헤더,바디로 나뉜다.
HTTP 요청의 라인에는 GET,POST 등의 동작을 나타내는 부분과 HTTP의 버전 등이 들어간다.
HTTP 응답의 라인에는 상태, 헤더, 바디로 나뉘는데,
상태라인에서는 요청의 성공여부가 나타나고 헤더는 제너럴헤더, 응답헤더, 개체헤더로 나뉠 수 있다.
바디 라인에는 201,204 상태코드의 응답에는 아무것도 들어가지 않는다.
HTTP 매서드를 살펴보면,
GET은 존재하는 자원에 대한 요청을,
POST는 새로운 자원 생성을
PUT은 존재하는 자원에 대한 변경을
PATCH : 존재하는 자원에 대한 일부 변경,
DELETE : 존재하는 자원에 대한 삭제를 하고 싶을 때 쓴다.