본문 바로가기

네트워크3

http2와 http3 HTTP HTTP는 HTML 문서와 같은 리소스를 가지고 올 수 있는 프로토콜 개별 메세지에 대해 클라이언트에서 서버에 request를 보내면 서버에서 response를 보내는 방식으로 구성 HTTP는 애플리케이션 계층의 최상단에 위치 HTTP 0.9 http 초기 버전에는 버전 번호가 없었음 GET 메소드만 존재 헤더 X, 상태나 오류 코드 X HTML 파일만 전송 가능 HTTP 1.0 1996년 11월에 공개 GET 요청에 HTTP/1.0 버전 정보가 같이 전송 GET, HEAD, POST 메소드 사용 가능 상태 코드 포함 헤더 개념 포함 Content-Type을 이용, HTML 파일 외의 파일도 전송 가능 HTTP 1.1 1997년 초에 공개 GET, HEAD, POST, OPTION, PUT, D.. 2023. 7. 26.
컨테이너 보안 1. 컨테이너 보안 위협 컨테이너는 응용프로그램과 프로그램이 의존하는 모든 것을 하나로 묶어서 실행하는 호스트와 격리한다. 이 격리는 다른 컨테이너와도 의존성을 분리한다. 컨테이너에서 공격이 가능한 경로는 다양하다. 응용 프로그램 코드 취약점 컨테이너 이미지 설정 오류 이미지 레지스트리 공격 호스트 취약점 비밀 정보 노출 네트워킹 컨테이너 탈출 취약점 보안에는 몇 가지 기본 원칙이 있다. 최소 권한 심층 방어: 여러 겹의 보안 경계 공격 표면 축소: 공격이 들어올 수 있는 구멍 자체를 줄인다. 폭발 반경 제한: 공격이 들어오더라도 영향을 미칠 수 있는 부분을 줄인다. 직무 분리 2. 리눅스 시스템 호출, 접근 권한, 능력 리눅스 시스템에서 보안의 토대는 파일 접근 권한이다. 리눅스 세상에는 “모든 것은 .. 2023. 7. 14.
실무에 바로 쓰는 Go 언어 핸즈온 가이드 1. 커맨드 라인 애플리케이션 작성 함수에서 read, write를 할 때 인자로 reader와 writer를 받아와서 하는 게 좋다. 직접 Stdin, Stdout 변수를 참조하면 유닛 테스트 작성이 매우 어렵다. 모든 성공적이지 않은 실행은 종료시 os.Exit()를 이용해서 0이 아닌 종료 코드를 반환해야 한다. 사용자 정의 에러를 잘 활용하자. var errPosArgsSpecified = errors.New("Positional arguments specified") ... c, err := parseArgs(os.Stderr, os.Args[1:]) if err != nil { if errors.Is(err, errPosArgSpecified) { fmt.Fprintln(os.Stdout, e.. 2023. 7. 12.