Network Basis
-
[Network] HTTP 헤더 정리 및 분석Network Basis 2022. 4. 7. 18:40
이 포스팅은 김영한님의 '모든 개발자를 위한 HTTP 웹 기본지식' 을 발췌하여 작성되었습니다. 해당 포스팅 이외에 헤더에 대해 궁금하시거나 배경지식이 필요하시면 아래의 MDN 문서를 참조하시면 좋을 것 같습니다. HTTP 헤더 - HTTP | MDN HTTP 헤더는 클라이언트와 서버가 요청 또는 응답으로 부가적인 정보를 전송할 수 있도록 해줍니다. HTTP 헤더는 대소문자를 구분하지 않는 이름과 콜론 ':' 다음에 오는 값(줄 바꿈 없이)으로 이루 developer.mozilla.org 과거 HTTP 헤더와 BODY 명칭 현재 HTTP 메세지 명칭 메세지 본문(Message Body)가 Entity Body -> Representation Body 으로 명칭 변경 여기서 Representation 이 ..
-
[Network] HTTP의 모든 것 (HTTP특징, URI 설계, 상태코드, 리다이렉션, 헤더)Network Basis 2022. 4. 6. 19:06
들어가기전에 * URI, URL 의 차이를 모른다면? [Network] URL? URI? URN? URI에 대한 공식스펙 (https://www.ietf.org/rfc/rfc3986.txt) URI, URL, URN 에 대해 명확히 알고 계시나요? 필자도 명확하게 몰라도 여태 지장없이 코딩을 해왔었는데 사실 한번쯤은 명확히 정리하고 싶었습니 developer-ping9.tistory.com * 프로토콜이 뭐지? [Network] 통신 프로토콜의 발전에 대한 간략 정리글 (IP, TCP/UDP, HTTP) 이 글은 각 통신 프로토콜이 어떠한 필요에 의해 만들어졌는지 간단하게 역사를 되짚어 보는 글입니다. 자세한 정보들은 해당 포스팅에서 얻은 키워드로 검색하시길 바래요 :D 아래는 각 계층 developer..
-
[Network] URL? URI? URN?Network Basis 2022. 4. 6. 18:06
URI에 대한 공식스펙 (https://www.ietf.org/rfc/rfc3986.txt) URI, URL, URN 에 대해 명확히 알고 계시나요? 필자도 명확하게 몰라도 여태 지장없이 코딩을 해왔었는데 사실 한번쯤은 명확히 정리하고 싶었습니다. (저는 명확하게 정리안하면 제 뇌가 기억을 안하더라구요 😩) 가시죠..!! URI (Uniform Resource Identifier) URI 는 URL과 URN을 포함하는 상위개념이다. 영어 뜻을 그대로 해석해보자면, 리소스를 구분하는 통일된 규약 정도로 볼 수 있겠다. 아래는 포함관계를 보여주는 밴다이어그램이다. URL과 URN URL (Uniform Resource Locator) 리소스를 구분하는 규약(URI) 중 리소스가 있는 위치를 기준으로 구분하는..
-
[Network] 통신 프로토콜의 발전에 대한 간략 정리글 (IP, TCP/UDP, HTTP)Network Basis 2022. 3. 29. 19:23
이 글은 각 통신 프로토콜이 어떠한 필요에 의해 만들어졌는지 간단하게 역사를 되짚어 보는 글입니다. 자세한 정보들은 해당 포스팅에서 얻은 키워드로 검색하시길 바래요 :D 아래는 각 계층에서 데이터를 어떻게 가공하는지 이해를 돕기위하여 제가 직접 만들었습니다 😏 사실 위 그림의 각 계층에서 Data에 추가되는 정보들은 흐름의 이해를 돕기 위해 간략히 표현한 것이며, 실제로는 더 다양하다. OSI 7 Layer & TCP/IP 모델 설명글 보러가기 글이 거의 리팩토링 되듯이 계속 수정하면서 난잡하게 정리되어있긴 합니다 ㅠㅠ... (추후 정리예정) [Network] 네트워크 통신의 기본 구조 ( OSI 7 Layer, TCP/IP) # OSI 모델 (Open Systems Interconnection) - 1..
-
[Network] 정적웹과 동적웹의 정확한 정의를 고민해보자 (Feat. AWS & GitHub Pages)Network Basis 2022. 2. 22. 19:04
* 필자의 지극히 개인적인 생각입니다. GitHub 의 Pages 와 AWS 의 S3 에서 정적웹호스팅이라는 단어를 쓴다. 하지만 정적웹과 동적웹에 대해 구글링을 하면, 뭔가 Git과 AWS의 용어선택이 이상하다는 생각이 든다. 왜냐하면, React 또한 [정적웹호스팅]이라는 단어로 Git과 AWS에서 호스팅하기 때문이다. 이 글은 Git 과 AWS에서 일하시는 분들은 똑똑할꺼니까 그분들이 맞다고 가정하고 기존의 정적웹과 동적웹의 정의를 다시 정의 한 포스팅이다. # 세간에 알려진 정의 (from. 위키백과 + 다른 블로그 포스팅들) ## 정적웹 1. 웹서버에 이미 저장된 html 문서를 클라이언트에게 전송하는 웹 페이지 2. 사용자는 서버에 저장된 데이터가 변경되지 않는 한 고정된 웹 페이지를 보게 됨..
-
[Network] 데이터의 직렬화(Serialization)Network Basis 2022. 2. 17. 13:33
# 정의 직렬화란 메모리를 디스크에 저장하거나 네트워크 통신에 사용하기 위한 바이트 형식으로 변환하는 것 다차원의 자료를 파일로 저장하거나 네트워크로 보내기에 알맞게 일차원으로 펼치는 것 * Java 에서는 Serialization 인터페이스를 구현한 클래스만 직렬화가 가능하다고 한다. * 보안상으로 노출되지 않아야되는 멤버들은 @Transient로 마킹한다고 한다. 여기서 의문점이 생길 수 있다. (저는 그랬다..) # 고개 드는 궁금증 ??? 원래 컴퓨터는 모든 데이터를 0,1 로 처리하지않나? 다차원의 데이터라도 0,1 로 구성된 각 벡터 데이터를 연속적으로 붙이면되는거 아닌가? 이게 뭐라고 거창하게 '직렬화' 라는 명칭을 가지고 있지? 그리고 Java에서는 Serialization 이 구현 안 된..
-
[Network] TCP/UDP 포트 목록 (well-known port, registerd port, dynamic port)Network Basis 2022. 2. 7. 22:28
# Reference TCP/UDP의 포트 목록 - 위키백과, 우리 모두의 백과사전 잘 알려진 포트(well-known port)는 특정한 쓰임새를 위해서 IANA에서 할당한 TCP 및 UDP 포트 번호의 일부이다. 일반적으로 포트 번호는 다음과 같이 세 가지로 나눌 수 있다. 0번 ~ 1023번: 잘 알려진 포 ko.wikipedia.org List of Common Network Port Numbers Objectives: Learn common port numbers and services, and which transport protocol they use. Prerequisites: you have to know about TCP/IP protocols in general. Key terms: ..
-
[Network] Apachi, Nginx, Tomcat 이 하는일이 뭘까? (Feat. Proxy)Network Basis 2021. 12. 15. 09:37
# 대충 개념 잡기 Apachi, NginX 은 프록시서버(웹서버)이며 Tomcat, Jetty, Undertow 는 WAS다. (WAS : Web Application Server , 자바진영 용어) 용어차이기 때문에 복잡하게 생각하지말고 Spring+Tomcat / Node.js 등으로 만든 서비스를 Application Apachi, NginX 등은 Application 앞단에서 일을 처리하는 웹서버(관리자, 스케줄러)라 생각하면 된다. 그래서 Apachi와 NginX는 관리자의 역할에 맞게 Application 들이 각자의 서비스를 잘 수행할 수 있게 관리하는 법들을 고민한다. Tomcat 은 Spring 프로그램(Application)의 관리자(컨테이너) 정도로 생각하면 된다. (Applicat..