inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

모든 개발자를 위한 HTTP 웹 기본 지식

4xx - 클라이언트 오류, 5xx - 서버 오류

http status

335

asdkfur

작성한 질문수 22

4

안녕하세요 ㅎㅎ

강의를 보다가 또 다른 질문이 생겨서 이렇게 질문 남깁니다.ㅎㅎ

1. 유저A 가 유저 B의 order id를 요청하는 경우

URL-GET orders/2-(유저 B order id)

403,404? 어떤 상태 코드를 실무에서는 많이 쓰고 이유가 있을까요?

2. PRG

POST /orders -주문 API

주문생성을 예로 들어 PRG를 중복 주문을 막기 위해 쓰신다고 하셨는데 혹시 그렇게 되면 주문생성 API 사용성이 떨어지는 문제는 없나요?

가령 모바일에서도 해당 API를 사용한다든지, 여러 클라이언트(모바일, 웹)등 에서 redirect 하려는 페이지가 다르다든지..

차라리 서버에서 중복을 잘 막고 나머지는 클라이언트 처리하는 방식은 실무에서 자주 쓰는 방법은 아닌가요?

이번에도 좋은 강의 감사합니다. ㅎ

network

답변 2

8

김영한

안녕하세요. asdkfur님

1. 유저A 가 유저 B의 order id를 요청하는 경우

 이 경우 403을 사용하기도 하고, 404를 사용하기도 합니다. 이 부분은 딱 정답이 없습니다. (403으로 명확하게 리소스는 있지만 인가 문제가 있다고 명확하게 알리고 싶으면 403을 사용하시면 되고, 다른 사용자는 완전히 리소스 자체가 없다고 인지하게 만들고 싶으면 404를 사용하면 됩니다.)

2. PRG

네 이 방법을 사용해도 서버에서 중복 자체는 당연히 막도록 설계해야 합니다. 그리고 이상적으로는 같은 API를 사용하는게 좋겠지만, 보통 웹 HTML을 제공할 때와 모바일 API를 제공할 때는 서로 다른 API를 제공합니다. 디테일하게 들어가면 조금씩 차이가 나기 때문에 딱 맞추기가 쉽지 않습니다. 웹 브라우저에서 처리할 때는 이 방법을 주로 사용합니다.

감사합니다.

1

asdkfur

명쾌한 답변 정말 감사합니다. ㅎㅎ

캐시 관련 질문입니다.

0

616

1

ETag 질문입니다.

0

727

1

캐시의 설정 주체

0

534

1

영속쿠키 질문입니다.

0

503

1

협상(accept-language)

0

686

1

에러 코드의 구현 주체

0

437

1

웹서버가 구현?

0

595

1

필수헤더?

1

559

1

Host와 Port

0

772

1

다른 도메인이 같은 포트를 사용하는 경우

0

1258

1

표준 헤더와 임의 헤더

0

532

1

POST 등록 후 Location 헤더

0

568

1

프로세스의 상태가 변경되는 경우에 Post 사용

1

1808

1

지속연결에 대해서.

0

691

1

제가 아는 쿼리 파라미터 개념이 맞는지 확인 부탁드립니다.

0

592

1

캐시 내용중 no cache 일때

0

357

1

DNS 서버 관련 질문

1

747

1

캐시로 저장된 파일의 유효기간은 얼마나 되나요?

0

661

1

웹브라우저 요청흐름 질문입니다.

0

846

1

캐시 무효화 질문드립니다

0

561

1

리다이렉트와 리다이렉션 차이?

0

2591

1

쿠키 및 세션 관련 질문드립니다

0

586

1

HTTP 메서드 ( HTTP 메서드의 속성 파트 ) 강의의 멱등 내용에 대하여 질문드립니다.

0

1642

1

header 나 gzip으로 데이터 보낼떄 데이터는 base64로 인코딩되서 가는 건가요?

0

480

1