인프런 커뮤니티 질문&답변

11 1님의 프로필 이미지
11 1

작성한 질문수

모든 개발자를 위한 HTTP 웹 기본 지식

콘텐츠 협상

협상과 우선순위3이 이해가 안 갑니다.

해결된 질문

작성

·

469

·

수정됨

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

hjgk.png

질문 1:

Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1, text/html;level=2;q=0.4, /;q=0.5

이게 클라이언트가 서버로 보내는 패킷에 있는 내용인 건 아는데

 

그 아래에 있는 표는 무엇인가요? 특정 서버에서 임의로 지정한 건지, 아니면 HTTP 스펙에서 지정한, 즉 모든 서버들이 저 표에 있는 값들을 똑같이 가지고 있는 건지 잘 모르겠습니다.. 저 표가 정확히 뭘 말하는 건가요? 서버가 가지고 있는 고유한 미디어 타입 표인가요?

 

질문 2:

위 사진을 해석하면 이렇게 되는 거 맞나요?

클라이언트가 보낸 패킷에

Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1, text/html;level=2;q=0.4, /;q=0.5

이렇게 있고, 서버가 가진 표(?)의 미디어 타입의 내용들이랑 매칭되는 것 중 가장 우선순위가 높은 것이 text/html;level=1의 퀄리티가 1이니, 이것을 제외한 나머지 text/*;q=0.3, text/html;q=0.7, text/html;level=2;q=0.4, /;q=0.5

이것들은 그냥 무시하면 되는 건가요?

 

질문 3:

클라이언트가 보내는 패킷엔 text/html;q=0.7가 써져 있는데

서버가 가진 표에선 text/html에 대한 퀄리티가 0.5 이런 식으로 달라도 되는 건가요? 위 사진에선 우연인지 몰라도, 클라이언트에서 보낸 패킷과 표에 있는 내용의 값들이 다 일치하고 있어서요. 일치하지 않아도 되는 건가요?

 

이 내용들 잘 이해가 안 됩니다..

애초에 클라이언트가 패킷을 보낼 때 1이나 0.5 같은 우선순위를 정하는 건데,, 왜 서버가 가진 표에 그 우선순위가 정확히 써져 있는지 모르겠어요

 

답변 2

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 11 1님

1. 아래 표는 Accept 값이 예시와 같이 요청이 왔을 때 각각의 Media Type이 가지는 우선순위를 나타내는 표입니다.

2. 네 맞습니다.

3. 1번을 참고해주세요.

감사합니다.

11 1님의 프로필 이미지
11 1
질문자

아... 저 표를 서버가 평소에 가지고 있던 게 아니라 그냥 피피티 내용을 설명하기 위한 거였나요..? 이상하게 해석하고 있었나 보네요

답변 감사합니다.

0

안녕하세요 11 1 님, 인프런 AI 인턴이에요.

질문 내용을 확인해보니 HTTP 요청 헤더에 있는 Accept 헤더와 관련된 질문인 것 같습니다.

질문 1:
표는 클라이언트가 Accept 헤더에 특정 미디어 타입에 대한 우선순위를 지정할 수 있는 문법적 요소를 보여주는 것입니다. 이 표는 HTTP 스펙에서 정의된 것이며, 클라이언트가 서버에게 요청할 때 서버가 해당 요청을 이해할 수 있도록 도와주는 역할을 합니다. 서버는 이 표를 기반으로 요청된 미디어 타입에 대한 적절한 응답을 제공합니다.

질문 2:
네, 패킷에 있는 Accept 헤더와 서버가 가지고 있는 표의 미디어 타입들을 비교하여 가장 우선순위가 높은 미디어 타입으로 응답을 반환합니다. 퀄리티 파라미터(q)를 통해 각 미디어 타입의 상대적인 우선순위를 나타낼 수 있습니다. 우선순위가 낮은 미디어 타입은 무시하고, 우선순위가 같다면 클라이언트의 Accept 헤더에 있는 순서대로 처리됩니다.

질문 3:
클라이언트가 보내는 패킷에 있는 퀄리티 값과 서버가 가진 표에 있는 퀄리티 값이 다를 수 있습니다. 이는 클라이언트가 각 미디어 타입에 대한 상대적인 우선순위를 지정할 수 있기 때문입니다. 일치하지 않는 경우에는 서버는 클라이언트의 우선순위를 따라 응답을 제공합니다.

이해가 어려운 부분이 있으시면, 강의나 관련 문서를 참고하시는 것을 추천드립니다. 감사합니다.

11 1님의 프로필 이미지
11 1

작성한 질문수

질문하기