HTTP

· CS/Network
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! ⛅️ 단순 전송 ✅ 단순 전송이란? 전송하는 데이터인 message body에 아무런 처리를 하지 않고 그대로 전송하는 것을 말한다. ✅ 사용하는 헤더 Content-Length 전송하는 데이터 그대로 전송하기 때문에 다른 전송 방법에 비해 Length 값이 크다. ⛅️ 압축 전송 ✅ 압축 전송이란? 전송해야 하는 데이터를 압축한 뒤 전송하는 방법 단순 전송에 비해서 전송하는 데이터의 크기가 작다. ✅ 사용하는 헤더 Content-Encoding, Content-Length 압축 후 전송하기 때문에 단순 전송에 비해서 Content-Length 값이 작다. ⛅️ 분할 전송 ✅ 분할 전송이란..
· CS/Network
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! ⛅️ 콘텐츠 협상 콘텐츠 협상 Content-Negotiation이란 클라이언트 측에서 선호하는 표현을 요청하는 것을 말한다. 헤더에 클라이언트가 선호하는 표현(옵션)을 명시하여 서버 측에 전송했을 때, 서버 측에서 해당 헤더의 내용을 보고 가능한 옵션이라면 해당 표현으로 응답 메세지를 전송한다. 만일 클라이언트가 한국어(ko)를 선호한다면 헤더에 해당 내용을 명시하여 한국어 제공을 요청할 수 있다. q(Quality value)를 통해 우선 순위를 정할 수 있기 때문에, 1순위 옵션을 제공받을 수 없다면 그 다음 우선순위에 해당하는 옵션을 요청할수 있다. ⛅️ Content-Negotia..
· CS/Network
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! ⛅️ HTTP 헤더의 개요 ✅ HTTP 헤더의 구조 header-field = field-name : OWS field-value OWS OWS 띄어쓰기 허용, field-name 대소문자 구문x 예시) Content-Type: text/html;charset=UTF-8 Content-Length: 3423 ✅ HTTP 헤더의 역할 HTTP 전송에 필요한 모든 부가 정보를 HTTP 헤더에 담는다. message body의 내용, 크기, 압축, 인증, 서버 정보, 캐시 관련 정보... ⛅️ HTTP 표준 - RFC 2616(과거) ✅ Header의 분류와 HTTP Body Header의 분류..
· CS/Network
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! ⛅️ HTTP Method의 속성 HTTP Method에는 세 가지 속성 안전(Safe Methods), 멱등(Idempotent Methods), 캐시 가능(Cacheable Methods)이 있다. 하나씩 살펴보자. ⛅️ 안전 Safe 메서드를 호출해도 리소스가 변경되지 않는 것을 말한다. 해당 메서드를 계속해서 호출해도 리소스가 변경되지 않음을 보장한다. 해당 리소스의 변경의 유무만 고려한다. GET, HEAD, OPTIONS, TRACE와 같은 메서드가 여기에 해당한다. ⛅️ 멱등 Idempotent 호출의 횟수와 관련 없이 결과가 같은 것을 말한다. 멱등 Idempotent는 외부..
· CS/Network
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! ⛅️ PUT PUT /members/100 HTTP/1.1 Content-Type: application/json { "username": "hello" "age": 20 } ● 리소스를 완전히 대체 리소스가 있다면 대체(replace) / 리소스가 없다면 생성(create) ● POST와의 차이점 → 클라이언트가 리소스를 식별하고, 리소스의 위치를 알고 URI를 지정해야 한다. /members가 아닌, /members/100 ● 리소스를 완전히 대체 즉, 덮어버린다는 것을 유의하자! 예를 들어 기존에 username & age 필드가 있었지만 age 필드만 있는 리소스를 PUT한다면, 결..
· CS/Network
이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다! ⛅️ HTTP Method HTTP API 설계에서 가장 중요한 것은 "리소스"를 식별하는 것이다. 예를 들어 '회원을 등록하다'에서 리소스는 "회원"이지, "등록하다"는 리소스가 아니다. 회원과 관련된 기능에 대한 API를 만든다고 가정하자. '회원을 등록하다', '회원을 조회하다'가 /members가 될텐데, 그렇다면 '등록하다'와 '조회하다'를 어떻게 구분해야 할까? 이 때 사용하는 것이 바로 HTTP Method이다. '등록하다'에서 POST 메서드를 사용하고, '조회하다'에서 GET 메서드를 사용하면 같은 URI를 사용하더라도 구분이 가능할 것이다. HTTP 요청 메서드는 HTTP..
orion_x
'HTTP' 태그의 글 목록