HTTP(Hypertext Transfer Protocol)는 웹을 개발하는 사람이라면 누구나 다 알아야 하는 통신 프로토콜 프로토콜이란 상호 간에 정의한 규칙을 의미하며 특정 기기 간에 데이터를 주고받기 위해 통신 - 웹 개발은 통신 프로그램을 작성하는 것 - 일종의 네트워크 프로그램
HTTP 프로토콜 특징
HTTP 프로토콜은 상태가 없는(stateless) 프로토콜입니다.
세션의 개념 - 여기서 '상태가 없다'라는 말은 각 세션마다 발생된 데이터가 연결되지 않는다는 의미 - Context가 유지되지 않는다는 의미 - 좀 더 쉽게 말해서 이전 데이터 요청에서 발생된 데이터가 다음 데이터 요청에서 사용될 수 없다. - 예 : 로그인을 해도 로그인 정보가 남지 않는다. - 그러면 어떻게 해야 하나? HTTP 프로토콜은 일반적으로 TCP/IP 통신 위에서 동작하며 기본 포트는 80번
Stateless
원래 문서를 공유하기 위한 것이므로 상태가 필요 없음 서버의 부하를 급격하게 감소시키는 효과가 있음
URL
DNS(Domain Name Service) 숫자로 되어 있는 IP 주소보다는 훨씬 기억하기 쉽다 URL(Uniform Resource Locators) URL 구조
protocol / host / port / resource path / query
HTTP 요청 메소드
앞에서 살펴본 URL과 HTTP 요청 메서드(Http Request Methods)를 이용해 서버에 특정 데이터를 요청할 수 있다.
일반적으로 HTTP 요청 메서드는 HTTP Verbs라고도 불리우며 아래와 같이 주요 메서드를 갖고 있다.
GET : 존재하는 자원에 대한 요청(C)
POST : 새로운 자원을 생성(R)
PUT : 존재하는 자원에 대한 변경(U)
DELETE : 존재하는 자원에 대한 삭제(D)
기타 요청 메서드
HEAD : 서버 헤더 정보를 획득. GET과 비슷하나 Response Body를 반환하지 않음