Quiz

(1) Content-Length는 body 전체 길이이다. ( O / X )

(2) HTTP/1.1의 Intermediaries (중개자)가 아닌 것은?

    1. 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

ㄱ. HTTP/1.1 404 Not Found.
. GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1

(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에 관한 내용이다. 알맞은 것을 짝지으시오.

  1. origin-form

  2. absolute-form

ㄱ.
GET /where?q=now HTTP/1.1 
Host: www.example.org

ㄴ.
GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1

(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

. GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1

2. Status Line

ㄱ. HTTP/1.1 404 Not Found.

(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에 관한 내용이다. 알맞은 것을 짝지으시오.

  1. origin-form

ㄱ.
GET /where?q=now HTTP/1.1 
Host: www.example.org

2. absolute-form

ㄴ.
GET http://www.example.org/pub/WWW/TheProject.html HTTP/1.1

(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 )

HTTP has been in use since 1990.  The first version, later referred
   to as HTTP/0.9, was a simple protocol for hypertext data transfer
   across the Internet, using only a single request method (GET) and no
   metadata.

(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