[중간정리] 8주차 - HTTP, 파일 디스크립터, TCP/UDP, C언어(포인터)

2025. 5. 6. 19:27·크래프톤 정글/CS기초(키워드, 개념정리)

HTTP 메서드(GET vs POST)

GET 메서드

  • 데이터를 URL의 일부(query string)로 전송한다.
  • URL 길이는 브라우저, 서버에 따라 제한이 있으므로 전송 가능 데이터 양이 제한된다.

POST 메서드

  • 데이터를 요청 본문(body)에 포함하여 전송한다.
  • Content-Length와 Content-Type 같은 추가적인 헤더 정보가 필요하다.

 

HTTP 응답 코드(404, 500)

404 Not Found

  • 서버가 요청된 리소스를 찾을 수 없을 때 반환되는 응답 코드

500 Internal Server Error

  • 서버가 요청을 처리할 수 없을 때 반환되는 응답 코드

 

파일 디스크립터(File Descriptor)

  • 운영체제에서 관리하는 정수형 고유 식별자로, 열린 파일이나 스트림을 식별하는 데 사용된다.
  • 이를 통해 다양한 입출력 리소스를 일관적 방식으로 관리할 수 있다.
  • 예를 들어, 파일을 열면 운영체제가 해당 파일을 가리키는 파일 디스크립터를 프로그램에게 제공한다.
  • UNIX/Linux 시스템의 기본 디스크립터
    • 0 (표준 입력)
    • 1 (표준 출력)
    • 2 (표준 에러)

 

TCP의 3-Way Handshake

3-Way Handshake는 TCP의 연결 설정 과정에서 사용되는 절차를 말한다. 이 과정은 다음과 같은 세 단계로 이루어진다.

  1. 클라이언트가 서버에 SYN(Synchronize) 패킷을 보내 연결 요청을 한다.
  2. 서버는 SYN-ACK(Synchronize-Acknowledge) 패킷으로 응답하여 연결 요청을 받았음을 알리고, 자신도 연결 준비가 되었음을 나타낸다.
  3. 클라이언트는 ACK(Acknowledge) 패킷을 서버에 보내 연결을 확정한다.

 

TCP와 UDP의 패킷 손실 대처 방법

TCP의 패킷 손실 대처

  • 패킷 손실 발생 시 자동으로 재전송을 시도한다.
  • 수신자는 받은 패킷에 대해 확인 응답(ACK)을 보낸다.
  • 송신자는 ACK를 받지 못한 패킷을 재전송한다.

UDP의 패킷 손실 대처

  • 패킷 손실에 대해 자체적으로 대처하지 않는다.
  • 확인 응답이나 재전송 기능이 따로 존재하지 않는다.
  • 패킷 손실이 발생하면 애플리케이션 레벨에서 따로 처리해야 한다.

 

C코드 (포인터) 문제 해결하기

#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; 
}

문제 요구사항

해당 코드의 출력 구하기

문제 해석

  • p는 정수형 변수 x의 주소를 가리키고 있는 상태에서 역참조된다.
  • 이후 p는 정수형 배열 z의 두번째 요소 주소를 가리키게 되지만 사용되지는 않는다.
  • *(&z[0] + 1) = *(&z[1])

정답 출력

10, 10, 14
저작자표시 비영리 변경금지

'크래프톤 정글 > CS기초(키워드, 개념정리)' 카테고리의 다른 글

[CS기초] CPU Scheduling 알고리즘 핵심 정리  (0) 2025.05.09
[CS기초] Process와 Thread 핵심 정리  (0) 2025.05.09
[CS기초] 8주차 개념 정리  (1) 2025.05.06
[CS기초] HTTP (요청/응답, 헤더, 메서드, 상태코드, HEAD 메서드) 핵심 정리  (0) 2025.05.05
[CS기초] CGI / WebServer / MIME Type 핵심 개념 정리  (0) 2025.05.05
'크래프톤 정글/CS기초(키워드, 개념정리)' 카테고리의 다른 글
  • [CS기초] CPU Scheduling 알고리즘 핵심 정리
  • [CS기초] Process와 Thread 핵심 정리
  • [CS기초] 8주차 개념 정리
  • [CS기초] HTTP (요청/응답, 헤더, 메서드, 상태코드, HEAD 메서드) 핵심 정리
그냥사람_
그냥사람_
IT 관련 포스팅을 합니다. 크래프톤 정글 8기 정경호
  • 그냥사람_
    그냥코딩
    그냥사람_
  • 전체
    오늘
    어제
    • 글 전체보기 N
      • 크래프톤 정글 N
        • 로드 투 정글(입학시험)
        • CS기초(키워드, 개념정리) N
        • 컴퓨터구조(CSAPP)
        • Code 정글(C언어) N
        • 마이 정글(WIL, 에세이) N
      • 자료구조&알고리즘
        • 자료구조
        • 알고리즘
      • 일상
  • 블로그 메뉴

    • 홈
  • 링크

    • Github
  • hELLO· Designed By정상우.v4.10.3
그냥사람_
[중간정리] 8주차 - HTTP, 파일 디스크립터, TCP/UDP, C언어(포인터)
상단으로

티스토리툴바