8주차 퀴즈

8주차 퀴즈

1. HTTP GET 요청과 POST 요청의 가장 큰 차이점은 무엇이며, 이것이 요청 헤더나 데이터 전송에 어떤 영향을 미칩니까? (1점)

GET 요청은 데이터를 URL의 일부(query string)로 전송하지만 POST 요청은 데이터를 요청 본문(body)에 포함합니다. 이 차이 때문에

1) GET 요청의 URL 길이에는 브라우저나 서버에 따라 제한이 있습니다. 이로 인해 전송할 수 있는 데이터의 양이 제한됩니다.

2) POST 요청은 ‘Content-Length’와 ‘Content-Type’ 같은 추가적인 헤더 정보를 필요로 합니다.

2. HTTP 응답 코드 404의 의미는 무엇입니까? 그리고 서버가 요청을 처리할 수 없을 때 반환하는 HTTP 상태 코드는 무엇입니까? (1점)

HTTP 응답 코드 404는 “Not Found”를 의미합니다. 이 코드는 서버가 요청된 리소스를 찾을 수 없을 때 반환됩니다. 서버가 요청을 처리할 수 없을 때 반환하는 HTTP 상태 코드는 500입니다. 이 코드는 “Internal Server Error”를 나타냅니다.

3. 파일 디스크립터(File Descriptor)란 무엇인지 간단히 설명하고 UNIX/Linux 시스템에서 표준 입출력/에러의 파일 디스크립터 번호를 쓰세요. (1점)

파일 디스크립터는 운영 체제에서 파일이나 다른 입출력 리소스에 대한 접근을 추상화하는데 사용되는 정수입니다. 파일 디스크립터를 통해 운영 체제는 파일, 파이프, 소켓 등 다양한 입출력 리소스를 일관된 방식으로 관리할 수 있습니다. 예를 들어, 파일을 열면 운영 체제는 해당 파일을 가리키는 파일 디스크립터를 프로그램에 제공합니다. UNIX/Linux 시스템에서 표준 입력의 파일 디스크립터 번호는 0, 표준 출력은 1, 그리고 표준 에러는 2입니다.

4. TCP에서의 ‘3-way handshake’ 절차를 설명하세요. (1점)

TCP의 ‘3-way handshake’는 연결 설정 과정에서 사용되는 절차이다. 이 과정은 다음과 같이 세 단계로 이루어진다:

1) 클라이언트가 서버에 SYN(Synchronize) 패킷을 보내 연결 요청을 한다.

2) 서버는 SYN-ACK(Synchronize-Acknowledge) 패킷으로 응답하여 연결 요청을 받았음을 알리고, 자신도 연결 준비가 되었음을 나타낸다.

3) 클라이언트는 ACK(Acknowledge) 패킷을 서버에 보내 연결을 확정한다.

5. TCP와 UDP에서 패킷 손실 시 대처 방법에는 어떤 차이가 있나요? (1점)

TCP

  • TCP는 패킷 손실이 발생하면 자동으로 재전송 시도

  • 수신자는 받은 패킷에 대해 확인 응답(ACK)을 보내고,

  • 송신자는 ACK를 받지 못한 패킷을 재전송

UDP

  • 반면, UDP는 패킷 손실에 대해 자체적으로 대처하지 않음

  • UDP는 확인 응답이나 재전송 기능이 없어, 패킷 손실이 발생하면 이를 어플리케이션 레벨에서 처리해야 함

6. 다음 ANSI C 프로그램에서 출력되는 내용은 무엇인가요? (1점)

#include <stdio.h> 
int main(int argc, char *argv[]) 
{ 
   int x = 1, z[2] = {10, 11}; 
   int *p = NULL; 
   p = &x; 
   *p = 10; 
   p = &z[1]; 
   *(&z[0] + 1) += 3; 
   printf("%d, %d, %d\n", x, z[0], z[1]); 
   return 0; 
}

출력값 : 10, 10, 14


© 2022 JeongHwan Yun.