Quiz
(1) Content-Length는 body 전체 길이이다. ( O / X )
(2) HTTP/1.1의 Intermediaries (중개자)가 아닌 것은?
Proxy
2. Gateway (reverse proxy)
3. Tunnel
4. Cache
(3) cache란?
(4) 캐시는 서버가 터널 역할을 하는 동안에는 사용될 수 있다. ( O / X )
(5) Host와 Connection 헤더 필드는 HTTP/1.1준수 여부에 관계 없이 모든 HTTP/1.x구현에 의해 구현되어야 한다. ( O / X )
(6) HTTP는 전송 프로토콜과 독립적이지만, 이름 위임 프로세스는 권한을 설정하는 TCP에 의존하기 때문에 “http” scheme은 TCP기반 서비스에만 한정된다. ( O / X )
(7) 다음을 URI 명칭으로 표시하시.
http://example.com:80/~smith/home.html
(8) HTTP-message에서 header-field는 무한히 들어갈 수 있다. ( O / X )
(9) HTTP-message에서 header-field와 message-body사이에는 CRLF 하나가 들어간다. ( O / X )
(10) HTTP-message는 CRLF, start-line, header-field, message-body, end-line으로 구성돼있다. ( O / X )
(11) 다음 알맞은 것을 짝지으시오.
1. Request Line, 2. Status Line
(12) 헤더 필드를 무시하면 서버의 smuggling 공격 취약성이 증가한다. smuggling 공격 이란?
(13) 요청에서 메시지 본문이 있으면 Content-Length 또는 Transfer-Encoding 헤더 필드로 표시된다. ( O / X )
(14) 응답에서 메시지 본문의 존재 여부는 응답하는 응답 상태 코드에 따라 달라진다. ( O / X )
(15) 메시지에 Transfer-Encoding 헤더 필드가 없는 경우, Content-Length 헤더 필드의 값은 숫자 크기에 상관없이 모두 들어 갈 수 있다. ( O / X )
(16) 발신자는 Transfer-Encoding 헤더 필드를 포함하는 메시지에서 Content-Length 헤더 필드도 포함 할 수 있다. ( O / X )
(17) Content-Length 필드 값이 0보다 크거나 같으면 유효하다. ( O / X )
(18) connect 요청에 대한 2xx (성공) 응답시 Content-Length 또는 Transfer-Encoding는 무시된다. ( O / X )
(19) 전송 코딩(Transfer coding) 이름은 네트워크를 통해 "safe transport" 을 보장하기 위한 인코딩 변환으로 사용된다. ( O / X )
(20) Request Target에 관한 내용이다. 알맞은 것을 짝지으시오.
origin-form
absolute-form
(21) HTTP 메시징은 기반을 이루는 전송 또는 세션 계층 커넥션 프로토콜과 독립적이다. ( O / X )
(22) Connection 과 Keep-Alive 같은 연결-지정 (Connection-specific) 헤더 필드들은 HTTP/2에서 금지된다. ( O / X )
(23) “close” 커넥션 옵션은 현재 요청/응답 후 커넥션이 지속되지 않음을 알리는 데 사용된다. ( O / X )
(24) 다음은 http/1.1에서 어느 부분에 관한 내용인가?
(25) 다음 빈칸에 들어갈 알맞은 단어는?
HTTP/1.1 101 Switching Protocols Connection: [빈칸] Upgrade: HTTP/2.0
[... data stream switches to HTTP/2.0 with an appropriate response (as defined by new protocol) to the "GET /hello.txt" request ...]
(26) HTTP/1.1에 적용된 ABNF 규칙에 대하여 아래 예시중 적합하지 않은 것을 고르시오.
ㄱ. "foo,bar" ㄴ. "foo ,bar," ㄷ. "" ㄹ. "," ㅁ. ", ,"
(27) DNS 보안 확장(DNSSEC, [RFC4033])은 신뢰성을 향상시키는 한 가지 방법이다. ( O / X )
(28) HTTP/0.9는 첫번째 버전이다. ( O / X )
(29) 여러 라인에 걸쳐 있는(“line folding”) 헤더 필드는 HTTP/1.1의 주요 문법 중 하나이다. ( O / X )
(30) HTTP/1.1 은 HTTP/0.9 요청을 지원해야한다. ( O / X )
(31) Pipelining은 GET/HEAD에는 적용한수있는 반면, POST/PUT에서는 적용불가능하다. ( O / X )
답안.
(1) Content-Length는 body 전체 길이이다. ( O / X )
(2) HTTP/1.1의 Intermediaries (중개자)가 아닌 것은? 4
(3) cache란?
"cache"는 이전 응답 메시지의 로컬 보관소이고 메시지의 저장, 검색, 삭제를 관리 하는 서브 시스템이다. 캐시는 캐시 가능한 응답을 저장하여 향후 동일한 요청에 대한 응답 시 간과 네트워크 대역폭 사용을 줄일 수 있다.
(4) 캐시는 서버가 터널 역할을 하는 동안에는 사용될 수 있다. ( O / X )
(5) Host와 Connection 헤더 필드는 HTTP/1.1준수 여부에 관계 없이 모든 HTTP/1.x구현에 의해 구현되어야 한다. ( O / X )
(6) HTTP는 전송 프로토콜과 독립적이지만, 이름 위임 프로세스는 권한을 설정하는 TCP에 의존하기 때문에 “http” scheme은 TCP기반 서비스에만 한정된다. ( O / X )
(7) 다음을 URI 명칭으로 표시하시오.
, http://example.com:80/~smith/home.html ?a=3
scheme:host:port/path?query
(8) HTTP-message에서 header-field는 무한히 들어갈 수 있다. ( O / X )
(9) HTTP-message에서 header-field와 message-body사이에는 CRLF 하나가 들어간다. ( O / X )
HTTP-message = start-line *( header-field CRLF ) CRLF [ message-body ]
2개가 들어간다.
(10) HTTP-message는 CRLF, start-line, header-field, message-body, end-line으로 구성돼있다. ( O / X )
(11) 다음 알맞은 것을 짝지으시오.
1. Request Line
2. Status Line
(12) 헤더 필드를 무시하면 서버의 smuggling 공격 취약성이 증가한다. smuggling 공격 이란?
Request smuggling([Linhart])은 다양한 수신자 간의 프로토콜 구문 분석의 차이를 이용하여 겉으로 보기에는 무해한 요청 내에서 추가 요청(다른 경우 정책에 의해 차단되거나 비활성화될 수 있음)을 숨기는 기술이다.
(13) 요청에서 메시지 본문이 있으면 Content-Length 또는 Transfer-Encoding 헤더 필드로 표시된다. ( O / X )
(14) 응답에서 메시지 본문의 존재 여부는 응답하는 응답 상태 코드에 따라 달라진다. ( O / X )
응답에서 메시지 본문의 존재 여부는 응답하는 요청 메서드와 응답 상태 코드에 따라 달라진다.
(15) 메시지에 Transfer-Encoding 헤더 필드가 없는 경우, Content-Length 헤더 필드의 값은 숫자 크기에 상관없이 모두 들어 갈 수 있다. ( O / X )
Content-Length = 1*DIGIT
(16) 발신자는 Transfer-Encoding 헤더 필드를 포함하는 메시지에서 Content-Length 헤더 필드도 포함 할 수 있다. ( O / X )
발신자는 Transfer-Encoding 헤더 필드를 포함하는 메시지에서 Content-Length 헤더 필드를 보내면 안 된다.
(17) Content-Length 필드 값이 0보다 크거나 같으면 유효하다. ( O / X )
(18) connect 요청에 대한 2xx (성공) 응답시 Content-Length 또는 Transfer-Encoding는 무시된다. ( O / X )
connect 요청에 대한 2xx (성공) 응답시 헤더 필드를 끝내는 것으로 간주되므로 빈 줄 바로 뒤에 연결이 터널이 됨을 의미한다.
(19) 전송 코딩(Transfer coding) 이름은 네트워크를 통해 "safe transport" 을 보장하기 위한 인코딩 변환으로 사용된다. ( O / X )
(20) Request Target에 관한 내용이다. 알맞은 것을 짝지으시오.
origin-form
2. absolute-form
(21) HTTP 메시징은 기반을 이루는 전송 또는 세션 계층 커넥션 프로토콜과 독립적이다. ( O / X )
(22) Connection 과 Keep-Alive 같은 연결-지정 (Connection-specific) 헤더 필드들은 HTTP/2에서 금지된다. ( O / X )
(23) “close” 커넥션 옵션은 현재 요청/응답 후 커넥션이 지속되지 않음을 알리는 데 사용된다. ( O / X )
(24) 다음은 http/1.1에서 어느 부분에 관한 내용인가?
pipelining, HTTP/2.x 이 나오면서 멀티플랙싱 알고리즘으로 대체됐다.
(25) 다음 빈칸에 들어갈 알맞은 단어는?
HTTP/1.1 101 Switching Protocols Connection: upgrade Upgrade: HTTP/2.0
[... data stream switches to HTTP/2.0 with an appropriate response (as defined by new protocol) to the "GET /hello.txt" request ...]
(26) HTTP/1.1에 적용된 ABNF 규칙에 대하여 아래 예시중 적합하지 않은 것을 고르시오.
ㄷ, ㄹ, ㅁ
(27) DNS 보안 확장(DNSSEC, [RFC4033])은 신뢰성을 향상시키는 한 가지 방법이다. ( O / X )
(28) HTTP/0.9는 첫번째 버전이다. ( O / X )
(29) 여러 라인에 걸쳐 있는(“line folding”) 헤더 필드는 HTTP/1.1의 주요 문법 중 하나이다. ( O / X )
더 이상 사용하지 않는다.
(30) HTTP/1.1 은 HTTP/0.9 요청을 지원해야한다. ( O / X )
(31) Pipelining은 GET/HEAD에는 적용한수있는 반면, POST/PUT에서는 적용불가능하다. ( O / X )
Last updated