Network/Basic

    UUID란 무엇이고 어떻게 구성되는가? 언어별(Kotlin, Java, JavaScript, C#, Python) UUID 만드는법 알아보기

    UUID란 무엇인가? UUID(Universally Unique IDentifier)란 네트워크 상에서 중복되지 않는 ID를 만들기 위한 표준 규약이다. 로컬에서 ID를 관리한다면 어떤 아이디들이 생성되었는지 확인한 후 중복을 체크하는 것이 가능하지만, 네트워크 상에서는 이야기가 다르다. 네트워크는 ID를 관리하는 중앙 관리자가 없기 때문에 중복 확인이 불가능하다. 따라서 네트워크 상에서 중복되지 않는 ID를 만들려면 중복되는 확률이 0에 가까운, 매우 낮은 확률을 가지는 ID를 만드는 방법을 사용해야 한다. "중복되는 확률이 0에 가까운, 매우 낮은 확률을 가지는 ID를 만드는" 방법을 표준화 한 것이 바로 UUID이다. UUID는 계속해서 생성해도 중복이 생길 가능성이 0에 가깝다. UUID의 구성 ..

    리다이렉트(Redirect)와 포워드(Forward)의 차이는 무엇인가?

    리다이렉트와 포워드 특정 URL 접속 시 리다이렉트 또는 포워드가 일어나게 되면 작업 중인 페이지가 전환된다. 리다이렉트와 포워드는 페이지가 전환된다는 점에서 비슷한 역할을 한다. 하지만 이 둘 사이에는 페이지를 전환하는 주체가 다르다는 큰 차이점이 있는데, 이 차이점이 동작에 큰 영향을 미친다. 리다이렉트는 페이지 전환 주체가 클라이언트이며, 포워드는 페이지 전환 주체가 서버이다. 클라이언트가 주체가 되어 페이지를 전환하는 방법은 접속한 URL이 아닌 다른 URL로 직접 접속하는 방법 밖에 없다. 반대로 서버가 전환 주체가 되면 URL 주소가 바뀌지 않고도 서버 내부의 동작을 통해 다른 응답을 클라이언트에 내려줄 수 있게 된다. 리다이렉트와 포워드가 무엇인지, 어떻게 동작이 다른지를 살펴볼 것이다. 리..

    [JSON] JSON은 무엇인가?

    JSON이란 JSON(JavaScript Object Notation) 은 데이터를 키(key)-값(value) 쌍으로 만들어 저장하기 위한 포멧의 일종이다. { "id": 1, "priority": 999 } JSON은 위와 같은 포멧으로 저장되는데 ':'을 기준으로 왼쪽 값이 key가 되며 오른쪽 값이 value가 된다. 즉, 위의 데이터를 해석하면 위 데이터값은 id가 1이고 priority가 999인 데이터라 볼 수 있다. JSON의 구성 JSON은 총 세가지로 구성되어 있다. Key-Value 쌍 JSON Object JSON Array Key-Value 쌍이 무엇인지는 방금 위에서 살펴보았다. JSON Object는 Key-Value 쌍을 여러개 가진 Object이며 JSON Array는 JS..

    URI, URL, URN 의 차이 한 번에 정리하기 : 리소스 구분 관점에서 보는 URI, URL, URN의 차이

    URI란? URI란 Uniform Resource Identifier의 약자이다. 즉 아래와 같이 해석될 수 있다. URI는 리소스를 구분할 수 있는 식별자이다. URI를 통해 우리가 접근해야 하는 리소스가 어디 있는지 알 수 있으며, URI는 인터넷, 모바일 기기 등 다양한 곳에서 사용된다. 보통 우리는 인터넷에서 리소스에 접근하기 위해, 다음과 같은 URI를 사용한다. https://kotlinworld.com/94 위 URI는 통신 방식인 https, 도메인 kotlinworld.com, 리소스 디렉토리 94번 총 3가지로 이루어져 있다. 위 형식의 URI를 처리할 수 있는 웹 브라우져 프로그램에 URI를 전송하면, kotlinworld.com 도메인이 가리키는 IP Address의 94번째 글에 ..

    [인터넷 프로토콜] TCP란 무엇인가? 패킷 전송을 위한 정보의 관점에서 보는 TCP(Transmission Control Protocol)

    *앞 글: IP, IP Address란 무엇인가? [인터넷 계층] IP, IP Address란 무엇인가 IP IP는 Internet Protocol의 약자이다. 네트워크 호스트는 IP에서 정의된 규약(Protocol)을 이용해 네트워크 상에서 정보를 주고 받으며, 이 정보는 패킷(Packet) 단위로 전달 된다. 네트워크 호스트(Network H kotlinworld.com 앞의 글에서 인터넷 계층의 IP Address만으로는 패킷 전달을 위해 여러 한계점이 있음을 살펴보았다. 패킷을 받을 대상이 연결 상태임을 확인하지 않고 전송하기 때문에 받을 대상(호스트)이 서비스 불능 상태여도 패킷이 전송된다. 순서가 있는 여러 개의 데이터를 보냈을 때 받는 데이터가 같은 순서로 받아질 것이란 보장이 안된다. 패킷..