BackEnd/HTTP
[ HTTP / 네트워크 ] 웹 개발 개론 -(2)HTTP Protocol
jimin-log
2023. 2. 24. 04:48
HTTP Protocol
HTTP (Hyper Text Transfer Protocol) 로 RFC 2616에서 규정된 Web에서 데이터를 주고 받는 프로토콜
이름에는 하이퍼텍스트 전용 프로토콜로 정의 되어 있지만 실제로 HTML,XML,Image,Video,Javascript 등 다양한 컴퓨터에서 다룰 수 있는 모든 것을 전송 가능하다
TCP를 기반으로 한 REST의 특징을 모두 구현하고 있는 Web기반의 프로토콜이다.
💡 HTTP는 메시지를 (Request) 받는 (Response) 형태의 통신 방법이다.
HTTP의 요청을 특정하는 메서드 8가지
*멱등성 : 몇번을 요청해도 같은 응답이 오는 것.
*안정성 : 서버의 데이터가 변화가 생기는것.
메서드 | 의미 | CRUD | 멱등성 | 안정성 | Path Variable |
Query Parameter |
DataBody |
GET | 리소스 취득 | R (read) | o | o | o | o | x |
POST | 리소스 생성,추가 | C (create) | x | x | o | △ | o |
PUT | 리소스 갱신,생성 | C / U (update) | o | x | o | △ | o |
DELETE | 리소스 삭제 | D | o | x | o | o | - |
HEAD | 헤더데이터 취득 | - | o | o | - | - | - |
OPTIONS | 지원하는 메서드 취득 | - | o | - | - | - | - |
TARCE | 요청 메시지 반환 | - | o | - | - | - | - |
CONNECT | 프록시 동작의 터널 접속으로 변경 | - | x | - | - | - | - |
💡 HTTP Status Code
응답의 상태를 나타내는 코드
코드 | 의미 | 내용 |
1XX | 처리중 | 처리가 계속되고 있는 상태. 클라이언트는 요청을 계속 하거나 서버의 지시에 따라서 재요청 |
2XX | 성공 | 요청 성공 |
3XX | 리다이렉트 | 다른 리소스로 리다이렉트. 해당 코드를 받았을때는 Response의 새로운 주소로 다시 요청 |
4XX | 클라이언트 에러 | 클라이언트의 요청에 에러가 있는 상태. 재 전송하여도 에러가 해결되지 않는다. |
5XX | 서버에러 | 서버 처리중 에러가 발생한 상태 . 재 전송시 에러가 해결될 수도 있다. |
자주 사용되는 코드 | |
200 | 성공 |
201 | 성공, 리소스 생성 성공 |
301 | 리다이렉트, 리소스가 다른 장소로 변경됨을 알림 |
303 | 리다이렉트, Client 에서 자동으로 새로운 리소스로 요청처리 |
400 | 요청 오류,파라미터 에러 |
401 | 권한 없음(인증 실패) |
404 | 리소스 없음(페이지를 찾을 수 없음) |
500 | 서버 내부 에러 (서버 동작 처리 에러) |
503 | 서비스 정지 (점검 등등) |