티스토리 뷰

HTTP 박살내기 프로젝트 - 10 | 마무리

세댕댕이 2021. 9. 25. 23:51

본 게시글은 <HTTP 완벽 가이드> 를 읽고 공부를 위해 기록해둔 게시글입니다.

 

--

이제 남은 파트가 엔티티와 인코딩, 국제화 이런것들인데 그냥 핵심 위주로 간략하게만 정리하고 마무리 하고자 함.

 

HTTP는 이미지, 텍스트, 동영상 등 다양한 포맷의 데이터들을 실어나른다.

이를 브라우저에서 잘 식별하고 처리하기 위해서 "잘 라벨링된 엔티티"를 사용한다.

 

HTTP 메시지를 운송 시스템의 컨테이너라고 생각한다면, HTTP 엔티티는 실질적인 컨테이너의 화물이다.

 

엔티티

엔티티는 엔티티 헤더엔티티 본문으로 구성된다

 

<엔티티 헤더>

 

  • Content-Type: 엔티티가 전달하는 객체의 종류, 타입
  • Content-Length: 전달되는 메시지의 길이나 크기
  • Content-Language: 전달되는 객체와 가장 잘 대응되는 자연어
  • Content-Encoding: 객체 데이터에 대해 행해진 인코딩
  • Content-Location: 요청 시점을 기준으로 객체의 또다른 위치
  • Content-Range: 엔티티가 부분 엔티티라면, 전체에서 어느 부분에 해당하는지
  • Last-Modified: 서버에서 콘텐츠가 생성 혹은 수정된 날
  • Expires: 엔티티 데이터 만료날짜
  • Allow: 해당 리소스에 대해 어떤 요청 메소드가 허용되는지 (GET, HEAD 등..)
  • ETag: 인스턴스 검사기(?)
  • Cache-Control: 캐시 관리 지시자

 

<엔티티 본문>

엔티티 본문은 가공되지 않은 데이터만을 담고있다.  ,

- 엔티티 헤더는 본문에 대한 정보를 제공하는 역할을 한다.

 

* 헤더의 마지막은 빈 줄(CRLF)로 끝난다.

* Content-Length 헤더를 통해 메시지 잘림 유무를 검사한다 (온전히 다 받았는지 아닌지)

-> 지속 커넥션을 맺기 위해서는 Content-Length 헤더는 필수

-> Content-Length 헤더가 있어야 어디까지가 엔티티 본문이고, 어디부터가 다음 메시지인지 알 수 있다.

* 캐시의 신선도는 Expires 헤더 혹은 Cache-Control 헤더를 통해 전송한다

 

* Content-Language 헤더를 통해 서버는 문서의 문자와 언어를 알려준다.

* Accept-Language 헤더를 통해 클라이언트는 서버에게 자신이 어떤 언어를 선호하는지 알려준다.

(1에 가까울수록 높다)

 

 

 

 

사실 이거 다 앞에서 한번씩 봤던 내용이다

솔직히 봐도 이게 중요한가 싶기도 하고 그냥 한번 훑어보고 마무리 하기로 함

 

 

아무튼..

 

 

끄으으으읏!!!

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함