반응형
목록
http (22)
[꼼꼼한 개발자] 꼼코더
👀 RequestEntity란? RequestEntity는 HTTP 요청을 나타내는 객체이다. 요청 헤더, HTTP 메서드, URI 등의 정보를 포함한다. 👨👧 RequestEntity의 종류 RequestEntity는 크게 2가지 종류로 나누어진다. 요청 본문이 없는 경우 RequestEntity requestEntity = new RequestEntity (헤더, 메서드, 요청 URI); ex) RequestEntity requestEntity = new RequestEntity (headers, HttpMethod.GET, uri); 요청 본문이 있는 경우 RequestEntity requestEntity = new RequestEntity (본문 데이터, 헤더, 메서드, URI); ex) Req..
🚨 오류 발생 아래와 같은 에러가 나왔다.. java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x020x000x010x000x010xfc0x030x030xa0.{0x9dm]QF0x090xc40xb1]a0xe80x860xc10x990xc10xf6b0xa90x8a0xde0x160xa0k{0xa80xe9K [http]로 변경했더니 해결 됐다..(너무 간단해서 뻘쭘하다..)
👦🏻 HTTP 헤더 🎃 헤더 용도 HTTP 전송에 필요한 모든 부가정보를 담는 용도로 사용된다. 부가정보 : 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보 표준 헤더가 너무 많음, 필요시 임의의 헤더 추가 가능 >HELLO_WORLD: catsbi 🧙🏻♂️ 헤더 분류-RFC 2616(과거) 1) General 헤더: 요청/응답 메시지 전체에 적용되는 정보 > Connection: close 2) Request 헤더: 요청 정보 > User-Agent: Mozilla/5.0 3) Response 헤더: 응답 정보 > Server: Apache 4) Entity 헤더: 엔티티 바디 정보 > Content-Type: text/html, Content-..
👨🏻🏭 3xx (Redirection) 요청을 완료하기 위해 유저 에이전트(웹 브라우저)의 추가 조치 필요 300 : Multiple Choices 301 : Moved Permanently 302 : Found 303 : See Other 304 : Not Modified 307 : Temporary Redirect 308 : Permanent Redirect 🧑🏻🏫 리다이렉션 이해 웹 브라우저는 3xx 응답의 결과에 Location 헤더가 있으면, Location 위치로 자동 이동(리다이렉트) 사용자가 예전 이벤트 페이지( /event) URL을 북마크 해두었는데 새로운 이벤트 페이지(/new-event) URL로 바뀐 경우, 사용자가 예전 이벤트 페이지에 접속해도 새로운 이벤트 페이지 URL로 ..
2️⃣ 2xx (Successful) 클라이언트의 요청을 성공적으로 처리 200 OK 201 Created 202 Accepted 204 No Content 👌🏻 200 OK 요청 성공 (GET과 같은 조회 요청에 성공적으로 응답하는 경우) 클라이언트가 서버에 GET으로 리소스를 요청함 서버가 리소스를 조회함 Stauts code: 200 과 리소스를 HTTP 응답 메시지를 만들어 클라이언트에 보냄 👨🏻🏭 201 Created 요청 성공 후 새로운 리소스 생성됨(POST와 같은 생성요청으로 리소스가 생성이 정상적으로 된 경우) 클라이언트가 서버에 POST로 신규 자원을 등록 요청함 서버가 리소스를 생성하고 리소스의 URI를 관리함 Stauts code: 201, Location: 생성된 리소스의 URI..
🔖 상태 코드 HTTP 상태코드는 클라이언트가 서버로 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다. 1xx (Informational): 요청이 수신되어 처리중 2xx (Successful): 요청 정상 처리 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5xx (Server Error):서버 오류, 서버가 정상 요청을 처리하지 못함 👀 만약 모르는 상태 코드가 나타나면? 클라이언트가 인식할 수 없는 상태코드를 서버가 반환하면, 클라이언트는 상위 상태코드로(2xx에서 2를 뜻 함) 해석해서 처리한다. 미래에 새로운 상태코드가 추가되어도 클라이언트를 변경하지 않아도 됨 299..
리소스를 식별하여 리소스만으로 URI를 설계한다. 문서, 컬렉션, 스토어로 해결하기 어려운 상황의 경우, 컨트롤 URI를 사용한다. 🧑🏻🏫 HTTP API 설계 예시 3가지 POST 기반으로 등록, PUT기반으로 등록하는 2가지 경우의 특징을 아는 것이 중요하다. 대부분 POST 기반 신규 자원 등록 방법(컬렉션)을 많이 사용한다. 1) HTTP API - 컬렉션 POST 기반 등록 → 회원 관리 API 제공 2) HTTP API - 스토어 PUT 기반 등록 → 정적 컨텐츠 관리, 원격 파일 관리 3) HTML FORM 사용 웹 페이지 회원 관리 GET, POST 만 지원 👩🏻💼 API 설계 - POST 기반 등록 회원 관리 시스템 회원목록 : /members ➡️ GET 회원등록 : /members..
🧑🏻🏫 데이터 전달 방식 데이터 전달 방식은 크게 2가지 경우로 나뉜다. 1) 쿼리 파라미터를 통한 데이터 전 주로 GET 방식으로 많이 사용 검색어로 검색할 때, 게시판 리스트에 정렬 조건을 넣을 때 쿼리 파라미터를 이용해서 많이 사용. 2) 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 클라이언트에서 서버로 전송할 때 HTTP 메시지 바디를 통해서 데이터를 전송한다. POST, PUT, PATCH 방식으로 주로 사용한다. 회원가입을 하려면 클라이언트에서 데이터를 서버로 전송하기 때문에 회원 가입, 상품 주문, 리소스 등록, 리소스 변경할 때 사용한다. 🍀 4가지 상황 1) 정적 데이터 조회 이미지, 정적 텍스트 문서 2) 동적 데이..