TIL(일일회고)

TIL_2022-01-24

귀요미찰쓰 2022. 1. 25. 11:57
728x90
반응형

김영한의 모든 개발자를 위한 HTTP 웹 지식 강의에서 HTTP 헤더 부분을 보면서 공부를 했습니다.

 

일단 표현 헤더에 

 

HTTP 헤더중에서 표현 부분에 대해서 말하자면

표현에는

Content-Type, Content-Encoding, Content-Language, Content-Length가 있습니다.

Content-Type은 표현 데이터의 형식(미디어 타입, 문자 인코딩)을 설명하는 부분입니다. 예를 들어서 html 파일인지와 json으로 되어있는지 것 같은 것들

Content-Encoding은 표현 데이터를 압축하기 위해 사용하는 것입니다. gzip으로 압축했느냐 같은 것. 왜냐하면 어떻게 압축을했는지 알아야지 풀 수 있기 때문에.

Content-Language는 표현 데이터가 무슨 언어로 되어있는지 나타내는 것. ko로 되어있으면 메시지 바디가 한글로 되어있음

Content-Length는 표현 데이터의 길이를 바타내는 것인데  Transfer-Encoding을 사용하면 Content-Length를 사용하면 안됩니다. 왜냐하면 Transfer-Encoding안에 이미 내용들이 다 들어있기 때문입니다.

 

 

 

마지막으로는 콘텐츠 협상입니다.

콘텐츠 협상은 클라이언트에서 선호하는 표현을 요청해서 그럴로 표현을 나타내게 만드는 것

간단하게 예를 들자면 클라이언트는 한국 사람이니 한글을 선호하기 때문에 우선순위인 한글을 표현해주고 만약 서버에서 한글이 없으면 그 다음 우선순위인 영어로 표현해주기. 

언어 말고도 압축 방식으로도 가능하다.

 

 

 

그 다음으로는 전송 방식입니다.

전송 방식은 크게 4가지로 나눌 수 있습니다. 단순 전송, 압축 전송, 분할 전송, 범위 전송이 있습니다.

단순 전송은 그냥 요청을 하면 응답을 주는데 메시지 바디에 대한 Content-Length를 지정하는겁니다. 한번에 요청하고 한번에 응답을 받는겁니다.

압축 전송은 서버에서 클라이언트한테서 받은 파일을 압축해주는겁니다. 그래서 이 때는 Content-Encoding을 무조건 넣어줘야합니다.

분할 전송은 쪼개서 보내주는거라고 생각하면 됩니다.

범위 전송은 Range: bytes=1001-2000 <- 이렇게 범위를 정하는겁니다.

반응형

 

반응형

'TIL(일일회고)' 카테고리의 다른 글

TIL_2022-06-06  (0) 2022.06.07
TIL_2022-01-26  (0) 2022.01.27
TIL_2022-01-14  (0) 2022.01.15