inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

콘텐츠 협상

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

해결된 질문

590

11 1

작성한 질문수 147

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번을 참고해주세요.

감사합니다.

1

11 1

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

답변 감사합니다.

0

인프런 AI 인턴

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

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

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

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

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

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

캐시무효화시 그냥 no-store만 넣어되지 않나요?

0

63

2

API의 헤더와 바디에 대한 문의 입니다.

0

67

2

수정폼과 수정

0

65

1

쿠키에 대해 질문드려요!

0

84

2

서버에서 캐시 검증 헤더를 직접 처리해야 하나요?

0

81

1

http api get, post 멱등

0

38

1

컬렉션의 개념

0

46

1

시작라인에 들어가는 요청 대상 경로는 상대 경로 아닌가요?

0

49

1

PATCH 는 PUT처럼 멱등이여야 하지 않나요?

0

77

1

리소스 질문드립니다

0

53

1

IP 패킷 질문입니다.

0

56

1

html from, http api

0

72

2

브라우저 캐시가 60초 유효하다는게 무슨 뜻일까요

0

119

1

stateless 무상태 예제가 생각났는데. 저가 생각 한게 맞는지 궁금합니다.

0

96

1

URI 및 URL 질문, 왜 자바(스프링)에서는 이렇게 나누었는지?

0

136

1

host와 port

0

105

1

tcp/ip는 연결을 유지? 아니면 유지하지 않음?

0

139

1

다음 강의 커리큘럼 질문!!

0

127

2

캐시 개념에 대해서 설명하시지는 않으시는건가요?

0

109

1

클라이언트가 patch, delete 요청 시 알아야 하는 url

0

86

1

html form 형태 전송시 new, edit 등 컨트롤 리소스를 사용하는 이유

0

165

2

비 연결성(connectionless) 강의에서 질문입니다~

0

136

1

PATCH를 사용하지 못할 때 왜 POST?

0

155

2

협상과 우선순위3 질문드립니다.

1

125

1