HTTP 웹 기본 지식28 HTTP 상태코드[3xx - 리다이렉션2] 일시적인 리다이렉션 302, 307, 303 리소스의 URI가 일시적으로 변경 따라서 검색 엔진 등에서 URL을 변경하면 안됨 302 Found 리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있음(MAY) 307 Temporary Redirect 302와 기능은 같음 리다이렉트시 요청 메서드와 본문 유지(요청 메서드를 변경하면 안된다. MUST NOT) 303 See Other 302와 기능은 같음 리다이렉트시 요청 메서드가 GET으로 변경 PRG - Post/Redirect/Get PRG - 사용전 POST로 주문후에 웹 브라우저를 새로고침하면? 새로고침은 다시 요청 중복 주문이 될 수 있음 PRG - 사용후 POST로 주문후에 새로 고침으로 인한 중복 주문 방지 POST로 주문후에 .. 2022. 12. 29. HTTP 상태코드[3xx - 리다이렉션1] 3xx (Redirection) 요청을 완료하기 위해 유저 에이전트(주로 웹브라우저)의 추가 조치 필요 리다이렉션이란 웹 브라우저는 3xx 응답의 결과에 Location 헤더가 있으면, Location 위치로 자동 이동 (리다이렉트) 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 307 Temporary Redirect 308 Permanent Redirect 자동 리다이렉트 흐름 클라이언트가 더이상 사용하지 않는 /event 경로의 event Page를 요청할 때 서버에서 301 Moved Permanently(영원히 이동함)상태코드로 Location Header에 새 경로를 알려줌 웹브라우저에서는 .. 2022. 12. 29. HTTP 상태코드[2xx - 성공] 2xx (Successful) - 클라이언트의 요청을 성공적으로 처리 200 OK 201 Created 202 Accepted 204 No Content 200 OK 요청 성공 GET메서드로 리소스 조회 시 서버에서 결과를 정상적으로 처리해서 응답을 할 때 201 Created 요청 성공해서 새로운 리소스가 생성됨 POST메서드로 리소스 생성을 요청하고 서버에서 생성해줄 때 Header의 Location에 새로 생성된 URI를 넣어줌 202 Accepted 요청이 접수되었으나 처리가 완료되지 않음 배치 처리 같은 곳에서 사용 ex) 요청 접수 후 1시간 뒤에 배치 프로세스가 요청을 처리함 클라이언트의 요청이 정상적이면 서버에선 작업의 성공/실패로 응답하는 게 일반적이나, 작업 완료를 위한 일련의 작업들이.. 2022. 12. 28. HTTP 상태코드[HTTP 상태코드 소개] 상태코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx (Informational) - 요청이 수신되어 처리중 2xx (Successful) - 요청 정상 처리 3xx (Redirection) - 요청을 완료하려면 추가 행동이 필요, HTTP의 Redirect 기능 4xx (Client Error) - 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5xx (Server Error) - 서버 오류, 서버가 정상 요청을 처리하지 못함 만약 모르는 상태 코드가 나타나면? 클라이언트가 인식할 수 없는 상태코드를 서버가 반환하면? 클라이언트는 상위 상태코드로 해석해서 처리 미래에 새로운 상태 코드가 추가되어도 클라이언트를 변경하지 않아도 됨 299 ??? -> 2xx (S.. 2022. 12. 28. HTTP 메서드 활용[HTTP API 설계 예시] HTTP API 설계 - POST 기반 (회원 관리 API) 클라이언트가 등록될 리소스의 URI를 모를 때 회원 등록 /member -> POST POST /members 서버가 새로 등록된 리소스 URI를 결정 HTTP/1.1 201 Created Location: /members/100 컬렉션(Collection) 서버가 관리하는 리소스 디렉토리 서버가 리소스의 URI를 생성하고 관리 여기서 컬렉션은 /members HTTP API 설계 - PUT 기반 (정적 컨텐츠/원격 파일 관리 API) 클라이언트가 리소스 URI를 알고 있을 때 파일등록 /files/{filename} -> PUT PUT /files/filename.jpg 클라이언트가 리소스의 URI를 결정 스토어(Store) 클라이언트가 관리.. 2022. 12. 20. HTTP 메서드 활용[클라이언트에서 서버로 데이터 전송] 클라이언트에서 서버로 데이터 전송 데이터 전달 방식은 크게 2가지 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터 (검색어) 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원가이브 상품 주문, 리소스 등록, 리소스 변경 4가지 상황 정적 데이터 조회 이미지, 정적 텍스트 문서 조회는 GET 사용 정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능 동적 데이터 조회 주로 검색, 게시판 목록에서 정렬 필터 (검색어) 조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용 조회는 GET 사용 GET은 쿼리 파라미터를 사용해서 데이터를 전달 HTML Form을 통한 데이터 전송 HTML Form submit시 POST 전송 ex) 회원 가입.. 2022. 12. 8. 이전 1 2 3 4 5 다음