C.S/WEB

HTTP 응답코드

칼쵸쵸 2021. 2. 27. 12:23

HTTP 응답 코드 : 클라이언트의 request에 대한 reponse의 종류 코드

200~

200 : OK

201 (create) : POST요청을 성공해서 새로운 리소스를 만듦

202 (accept) : 배치 프로그램 등에서 당장 동작하지 않으나 요청은 수락됨 (ex : 1시간 뒤에 동작)

204 (no content) : 요청에 성공했으나 되돌려줄 본문이 없음

 

300~

영구,일시,특수 리다이렉션 응답코드

영구 리다이렉트 : 주소가 영구히 바뀜

301 (move permently) : 요청 메서드가 GET으로 변하고 본문이 제거 될 수 있음 ( 반드시는 아님)

308 (permently redirect) : 요청메서드가 변하지 않고 본문이 유지됨

 

301 동작 방식

1. Client -> POST( body를 포함 ) -> Server

2. Clinet <- 301 redirect <- Server

3. Client 새로고침 후 다시 요청

4. Cilent -> GET ( body 없음 ) -> Server

5. Clinet <- 200 OK <- Server

 

308 동작 방식

1. Client -> POST( body를 포함 ) -> Server

2. Clinet <- 308 redirect <- Server

3. Client 새로고침 후 다시 요청

4. Cilent -> POST( body를 포함 ) -> Server

5. Clinet <- 200 OK <- Server

 

일시적 리다이렉션 : 결제완료 등 일시적으로 다른 주소로 이동시킴 

302 (Found) : Post가 GET으로 변함

307 (Temporary redirect) : 본문과 메서드 유지

303 : 302 와 같은 Get 으로 변경

304 : cash 리다이렉트

PRG : POST -> Redirect -> GET

PRG 사용 전

1. Client -> POST( body를 포함 ) -> Server -> 서버에 저장

2. Clinet <- 200 OK <- Server

3. Client 사용자가 요청 페이지에서 새로고침

4. Client -> POST( body를 포함 ) -> Server -> 서버에 저장

5. Clinet <- 200 OK <- Server

 

서버에 같은 내용이 중복해서 저장된다.

 

PRG 사용 후

1. Client -> POST( body를 포함 ) -> Server -> 서버에 저장

2. Clinet <- 302 redirect <- Server

3. Client 화면 이동

4. Client 사용자가 요청 페이지에서 새로고침 ( 화면이 이미 이동됨 )

4. Client -> GET -> Server

5. Clinet <- 200 OK <- Server

 

서버에 같은 내용이 중복해서 저장되는 것을 방지한다.

 

400~

400 : Bad Request , 클라이언트의 전송 파라미터가 잘못되는 등 요청이 잘못됨

401 : 인증이 안됨

403 : Forbidden  승인 거부

404 : 해당 리소스 없음

 

500~

500 : 서버 오류

503 : 서버 과부하 및 예정된 작업이 있어 해당 요청을 수행 할 수 없음

'C.S > WEB' 카테고리의 다른 글

HTTP 쿠키와 web storage에 대하여  (0) 2023.12.09
암호화와 SSL 인증 방식  (0) 2022.07.16
HTTP 캐시  (0) 2021.03.03
HTTP 헤더  (0) 2021.02.27
HTTP 메서드  (0) 2021.02.27