Hypertext Transfer Protocol, 서버와 클라이언트가 인터넷 상에서 데이터를 주고 받기 위한 프로토콜
클라이언트가 서버로부터 정보를 Pull 해 오는 방식임
Background
URI(Uniform Resource Identifier)
: 인터넷에 있는 자원을 나타내는 유일한 주소, 자원의 식별자
URL(Uniform Resource Locator)
: 인터넷에 있는 자원의 위치를 나타내는 것, 웹 자원에 대한 참조
ㅤ
https://www.dongguk.edu:3000/main?id=2016
✔️ https://www.dongguk.edu:3000/main: URL, URI
✔️ https://www.dongguk.edu:3000/main?id=2016: URI
ㅤㅤid=2016 👉 위치가 아니고 id=2016라는 걸 식별
클라이언트가 서버에 보낸 요청의 목적/종류를 알리는 수단
SELECT, 정보 요청
INSERT, 정보 등록(생성, 수정, 삭제 모두 가능함)
UPDATE, 정보 갱신(생성도 가능함)
DELETE, 정보 삭제
HTTP 헤더 정보만 요청
-> 해당 정보가 존재하는지, 서버에 문제가 없는지 확인 시 사용
웹 서버가 지원하는 method 종류 요청
클라이언트 요청을 그대로 반환
-> echo 서비스로, 서버 상태 확인 시 사용
POST /board
{
// request message 👉 이를 이용해 새로운 자원 생성
}
POST /board/2 👉 식별자의 자원 생성
{
// request message
}
구분 | POST | PUT |
---|---|---|
중복요청 | 독립적 | 최초 한 번만 자원 생성 |
멱등성 만족 | X | O |
멱등성: 1 .. n번 실행 시 결과가 같은지
👉 데이터 생성 시 둘 중 뭘 써야해?
둘 다 쓸 수 있음 근데 다음 사항들을 고려해서 맞는 Method를 선택해야함!
HTTP method > HEAD, OPTIONS 관련
https://stackoverflow.com/questions/6660019/restful-api-methods-head-options