프로토콜의 정의OSI 7계층 (Open Systems Interconnection 7 layer)네트워크 통신이 일어나는 과정을 7단계로 표현한 것 
IP, IPSecTCP, UDPHTTP, FTP, SSH, SMTP웹 개발자라면 반드시 알아야만 하는 개념
클라이언트의 요청이 없었음에도 서버가 응답을 주려면 웹소켓 사용을 고려해야 함



Method + URI + VersionHTTP 요청 Header 정보Body

Version + Status + Status MessageHTTP 응답 Header 정보응답 Body| Method | 행동 | 비고 |
|---|---|---|
| GET | 조회 | (params) /api/movies/1 |
| (querystring) /api/movies?movieId=1&genre=action | ||
| POST | 생성 | 요청 메시지의 body 사용 |
| PUT | (전체) 수정 | 요청 메시지의 body 사용 |
| PATCH | (일부) 수정 | 요청 메시지의 body 사용 |
| DELETE | 삭제 | 리소스를 제거 |
| Method | 역할 |
|---|---|
| HEAD | GET과 유사하지만 응답 Body 없이 헤더만 응답 (서버 상태 조회) |
| TRACE | 요청 패킷과 응답 패킷의 변조 유무를 체크 |
| OPTIONS | 서버에서 허용가능한 요청 Method 조회하기 |
200대의 상태 코드는 성공적인 응답을 의미합니다.
| status code | 의미 |
|---|---|
| 200 | http 요청이 성공적으로 수행 됨 |
| 201 | (Created 의 의미) 요청한 리소스 생성이 성공적으로 수행 (보통-POST) |
300대의 상태 코드는 리다이렉션의 의미입니다.
| status code | 의미 |
|---|---|
| 301 | 요청한 리소스의 경로가 변경되었음을 의미 |
| 304 | 클라이언트에게 응답이 수정되지 않았음을 의미 (캐시) |
400대의 상태 코드는 “클라이언트” side 에서 발생한 에러를 의미합니다.
| status code | 의미 |
|---|---|
| 400 | 클라이언트가 약속과는 다른 형식으로 서버에게 요청 |
| 401 | 인증되지 않은 사용자의 접근 |
| 403 | 인가 되지 않아서 리소스에 접근할 수 없음 |
| 404 | 요청한 리소스를 찾을 수 없음 |