카테고리 없음

스프링 입문 3.4 HTTP 프로토콜

코딩펭귄 2024. 1. 2. 16:57
HTTP (Hyper Text Transfer Protocol )

- 규칙이 나와있는것이고, 이것대로 구현을 해야 함

- RFC 2016에서 규정된 웹에서 데이터를 주고받는 프로토콜

- 실제로는 HTML, XML, JSON, Image, Voice, Video, PDF 등 다양한 컴퓨터에서 다룰수 있는것은 모두 전송할 수 있음

- TCP를 기반으로 한 REST의 특징을 모두 구현하고있는 웹기반 프로토콜

 

특징 : 메시지를 주고(Client), (반드시)받는(Response) 형태의 통신방법   [ 클라이언트 <-메시지-> 서버 ]

-> 클라이언트는 서버에 요청을 하고, 일정시간 응답이 오지 않거나 커넥션이 맺어지지 않으면 취소함 / 응답이오면 응답메시지를 수신하고 해석 & 데이터표시및 처리를 함

 

 

HTTP 요청을 특정하는 메소드 8가지

이미지출처 : 패스트캠퍼스_한번에끝내는 자바/스프링 웹개발

멱등성 : 몇번의 요청을 해도 같은 응답이 내려옴 

 

서버가 클라이언트한테 처리를 하고나서 응답의 상태를 나타내는 코드

1XX : 처리중인 상태 - 처리가 계속 되고 있는 상태. 클라이언트는 요청을계속하거나, 서버의 지시에따라 재요청

2XX : 성공 - 요청의 성공!! *젤 많이씀*

3XX : 리다이렉트 - 다른 리소스로 리다이렉트, 해당코드를 받았을때는 Response의 새로운 주소로 다시 요청

4XX : 클라이언트 에러 - 클라이언트의 요청에 에러가있는 상태. 재전송해도 에러가 해결되지 않음 (개발자가 수정해야함)

5XX : 서버에러 - 서버처리중 에러가 발생한 상태. 재전송시 에러가 해결됐을수도 있음(ex. 서버다운, 서버DB상태 안좋을경우) 

 

자주 사용되는 코드

200 - 성공 / 201 - 성공 or 리소스생성 성공

301 - 리다이렉트, 리소스가 다른장소로 변경됨을 알림 / 303 - 리다이렉트, Client에서 자동으로 새로운리소스로 요청처리

400 - 요청오류, 파라미터 에러(ex.잘못된값 요청시) / 401 - 권한 없음(인증실패) / 404 - 리소스없음(페이지 찾을수없음 ex.클라이언트가 잘못된 URI로 요청시)

500 - 서버 내부 에러(서버 동작 처리 에러) / 503 - 서비스 정지(점검 등)