728x90
반응형

HTTP 23

[HTTP 헤더1 - 일반 헤더] 표현

표현 Content-Type : 표현 데이터의 형식 Content-Encoding : 표현 데이터의 압축 방식 Content-Languege : 표현 데이터의 자연 언어 Content-Length : 표현 데이터의 길이 표현 헤더는 전송, 응답 둘다 사용 Content-Type 표현 데이터의 형식 설명 미디어 타입, 문자 인코딩 ex) text/html; charset=utf-8 appliaction/json image/jpg Content-Encoding 표현 데이터 인코딩 표현 데이터를 압축하기 위해 사용 데이터를 전달하는 곳에서 압축 후 인코딩 헤더 추가 데이터를 읽는 쪽에서 인코딩 헤더의 정보로 압축 해제 ex) gzip deflate identity Content-Language 표현 데이터의 ..

HTTP 2022.02.04

[HTTP 상태 코드] 4xx - 클라이언트 오류, 5xx - 서버 오류

4xx (Client Error) 클라이언트 오류 클라이언트의 요청에 잘못된 문법 등으로 서버가 요청을 수행할 수 없음 오류의 원인이 클라이언트에 있음 중요 !! 클라이언트가 이미 잘못된 요청, 데이터를 보내고 있기 때문에, 똑같은 재시도가 실패 마지막 중요 문장이 왜 중요하냐면 4xx 오류일 경우 클라이언트 오류이기 때문에 처음부터 잘못된 요청을 시도한 것이다. 따라서 같은 요청을 계속해서 하더라도 똑같은 실패가 발생한다. 하지만 5xx 오류일 경우 서버 오류이므로 현재는 오류가 발생할 수 있지만 후에는 서버가 같은 요청을 처리할 수 있을 수 있다. 따라서 4xx 오류와 달리 계속해서 실패가 발생하지 않을 가능성이 존재하며 이는 4xx와 차이점이 된다. 400 Bad Request 클라이언트가 잘못된 ..

HTTP 2022.02.04

[HTTP 상태 코드] 3xx - 리다이렉션2 (PRG)

일시적인 리다이렉션 302, 307, 303 리소스의 URI가 일시적으로 변경 따라서 검색 엔진 등에서 URL을 변경하면 안됨 302 Found 리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있음(MAY) 307 Temporary Redirect 302와 기능은 같음 리다이렉트시 요청 메서드와 본문 유지(요청 메서드를 변경하면 안된다. MUST NOT) 303 See Other 302와 기능은 같음 리다이렉트시 요청 메서드가 GET으로 변경 PRG: Post/Redirect/Get 일시적인 리다이렉션 - 예시 POST로 주문 후에 웹 브라우저를 새로고침하면? 새로고침은 다시 요청 중복 주문이 될 수 있다. PRG: Post/Redirect/Get POST로 주문 후에 새로 고침으로 인한..

HTTP 2022.02.04

[HTTP 상태 코드] 3xx - 리다이렉션1

리다이렉션 이해 웹 브라우저는 3xx 응답의 결과에 Location헤더가 있으면, Location 위치로 자동 이동 (리다이렉트) 두 가지 방법이 있지만 대부분 301 리다이렉션을 사용한다. 어떤 정보를 넘기려고 할 때 리다이렉션이 걸린다고 생각해보자. 301일 경우 POST였던 방식이 GET으로 바뀌기 때문에 입력했던 모든 정보가 사라지고 다시 입력해야한다. 하지만 308일 경우 POST 메서드가 이어서 진행되기 때문에 새로운 웹페이지로 넘어갔다고 하더라도 넘기려했던 정보는 넘어가게 된다. 하지만 리다이렉션이 걸리는 대부분의 경우가 새로운 페이지로 변경이 되었기 때문이고 넘겨주어야하는 정보 자체도 변경되었을 가능성이 크기 때문에 POST방식을 이어서 사용하는 308 리다이렉션을 사용하게 되면 목적에 맞..

HTTP 2022.02.03

[HTTP 메서드 활용] HTTP API 설계 예시

HTTP API 설계 예시 HTTP API - 컬렉션 POST 기반 등록 ex) 회원 관리 API 제공 HTTP API - 스토어 PUT 기반 등록 ex) 정적 컨텐츠 관리, 원격 파일 관리 HTML FORM 사용 웹 페이지 회원 관리 GET, POST만 지원 회원 관리 시스템 API 설계 - POST 기반 등록 회원 목록 /members -> GET 회원 등록 /members -> POST 회원 조회 /members/{id} -> GET 회원 수정 /members/{id} -> PATCH, PUT, POST 회원 삭제 /members/{id} -> DELETE 파일 관리 시스템 API 설계 - PUT 기반 등록 파일 목록 /files ->GET 파일 조회 /files/{filename} -> GET 파..

HTTP 2022.02.03

[HTTP 활용] - 클라이언트에서 서버로 데이터 전송

지금까지 배웠던 HTTP 메서드가 개발에서 어떻게 사용되는지 HTTP 메서드 활용 클라이언트에서 서버로 데이터 전송 HTTP API 설계 예시 클라이언트에서 서버로 데이터 전송 데이터 전달 방식은 크게 2가지 존재 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터(검색어) 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 클라이언트에서 서버로 데이터 전송 4가지 상황 정적 데이터 조회 이미지, 정적 텍스트 문서 동적 데이터 조회 주로 검색, 게시판 목록에서 정렬 필터(검색어) HTML Form을 통한 데이터 전송 회원 가입, 상품 주문, 데이터 변경 HTTP API를 통한 데이터 전송 회원 가입, 상품 주문, 데이터 변경 서버 to ..

HTTP 2022.02.03
728x90
반응형