본문 바로가기

전체 글47

[Kotlin] Serialization(직렬화)/DeSerialization(역직렬화) 1. 직렬화(Serialization) 직렬화는 객체를 바이트 스트림으로 변환하는 과정을 말합니다. 이렇게 직렬화된 객체는 파일에 저장하거나 네트워크를 통해 전송하는 등의 용도로 활용됩니다. 2. 역직렬화(Deserialization) 역직렬화는 직렬화된 바이트 스트림을 다시 객체로 변환하는 과정을 의미합니다. 저장된 데이터나 전송된 데이터를 읽어와 다시 원래의 객체로 복원하는 것이 역직렬화입니다. 3. 직렬화를 사용하는 이유 데이터 저장 및 교환: 직렬화를 통해 객체를 바이트 스트림으로 변환하면 파일에 저장하거나 네트워크를 통해 다른 시스템 간에 객체를 주고받을 수 있습니다. 이는 데이터를 영구적으로 저장하거나, 원격 시스템 간에 데이터를 주고받을 때 유용합니다. 예를 들어, 파일 시스템에 객체를 저장.. 2023. 11. 21.
[Network] 상태 코드란? 오늘은 응답 헤더에 담겨 있는 상태 코드에 대해 알아보도록 하겠습니다. 1xx: Information Response 상태코드가 "1"로 시작하는 경우는 서버가 요청을 받았으며 서버에 연결된 클라이언트는 작업을 계속 진행하라는 의미입니다. 2xx: Successful Response 200 OK: 성공적으로 요청이 처리되었습니다. 201 Created: 새로운 리소스가 성공적으로 생성되었습니다. 3xx: Redirect Message 4xx: Client Error Response 400 Bad Request: 클라이언트의 요청이 잘못되었습니다. 401 Unauthorized: 클라이언트가 인증되지 않았거나 인증이 실패했습니다. 404 Not Found: 요청한 리소스가 서버에서 찾을 수 없습니다. 5x.. 2023. 11. 19.
[Network] HTTP Header에 대해 이에 대해 HTTP 헤더는 크게 세가지로 구성되어 있습니다. General, Entity, Request, Response Header 순서대로 살펴보겠습니다. 1. General Header 일반 헤더에는 Date, Connection, Cache-Control 세 가지가 있는데요. 하나씩 살펴보겠습니다. 1. Date Date 헤더는 HTTP 메시지가 생성된 날짜와 시간을 나타냅니다. 이 헤더는 클라이언트와 서버 간의 통신에서 메시지가 언제 생성되었는지를 알려주는 중요한 역할을 합니다. 이를 통해 메시지의 유효성을 확인하고, 캐싱된 리소스의 날짜를 파악할 수 있습니다. Date: Fri, 18 Nov 2023 12:30:45 GMT 2. Connection Connection 헤더는 현재 연결의 옵션.. 2023. 11. 19.
[Network] HTTP란 무엇일까? HTTP: 하이퍼텍스트 전송 프로토콜 HTTP는 HyperText Transfer Protocol의 약자로, 하이퍼텍스트 전달을 위한 프로토콜입니다. 이는 사용자가 필요한 정보를 자유롭게 검색할 수 있는 하이퍼텍스트 방식을 사용합니다. 웹 브라우저와 웹 서버 간의 효과적인 소통을 위해 디자인된 HTTP는 OSI 7 계층에서 응용 계층에 위치한 프로토콜입니다. 특징 무상태성(Statelessness): HTTP는 특정 상태를 유지하지 않는 무상태성을 가지고 있습니다. 각각의 요청은 독립적으로 처리되며, 이전 요청에 대한 정보를 서버가 기억하지 않습니다. 클라이언트-서버 모델: 전통적인 클라이언트-서버 아키텍처 모델에서 클라이언트가 HTTP 메시지 양식에 맞춰 요청을 보내면, 서버는 이에 맞춰 HTTP 메시.. 2023. 11. 19.