리눅스 네트워크 진단 · HTTP 진단 · 퀴즈
퀴즈: HTTP 진단
문항 5개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
curl -w 결과에서 time_connect 는 평소와 같은데 time_starttransfer 만 3초입니다. 결론은?
- 이름 해석이 느려서 생긴 지연이다
- TLS 핸드셰이크가 느리다
- 네트워크는 정상이고 서버가 첫 바이트를 만드는 데 오래 걸린다
- 응답 본문이 너무 커서 오래 걸린다
curl 이 연결에 실패했을 때 %{http_code} 는 무엇을 출력하나요?
- 000
- 500
- 빈 문자열
- -1
디렉터리 경로를 끝 슬래시 없이 요청했더니 301 이 나왔습니다. 200 을 받으려면?
- -X GET 을 명시한다
- -L 로 리다이렉트를 따라가게 한다
- -I 를 붙인다
- --max-time 을 늘린다
헬스체크 스크립트에 --max-time 을 반드시 걸어야 하는 이유는?
- 응답 속도를 빠르게 하려고
- curl 의 기본 타임아웃이 1초라 너무 짧기 때문
- 상대가 응답하지 않을 때 스크립트가 무한정 멈추고 프로세스가 쌓이기 때문
- 리다이렉트 루프를 막기 위해
curl -s URL | jq -r .name 에서 curl 이 실패했는데 스크립트가 성공으로 넘어갔습니다. 필요한 것은?
- jq 의 -e 옵션만 있으면 된다
- curl 에 -f 를 붙이면 자동으로 해결된다
- jq 대신 grep 을 쓴다
- set -o pipefail 로 파이프 중간 실패를 전파해야 한다