본문 바로가기

느리게 변하는 지식/Network26

HTTP Redirection HTTP의 상태 코드 중 3xx대의 상태 코드는 요청을 완료하기 위해 유저 에이전트의 추가적인 조치가 필요하다는 의미를 가진다. 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 307 Temporary Redirect 308 Permanent Redirect 웹 브라우저는 3xx 응답의 결과에 Location 헤더가 있으면 Location 위치로 자동 이동시킵니다. 만약 기존 url을 통해 웹 서비스를 제공했는데, 시간이 지나고 해당 url을 폐지하고 신규 url을 사용해 웹 서비스를 제공한다고 하면, 기존 유저들은 해당 url을 북마크 한 후 사용되지 않는 url로 접근할 수 있습니다. 이 경우 서버에.. 2021. 12. 6.
HTTP review HTTP의 간단한 복습이 목적이다. HTTP HyperText Transfer Protocol의 약자인 HTTP는 클라이언트 서버 구조에서 데이터를 주고받는 규약입니다. 과거에 HTTP는 html 문서와 text만을 전송하기 위한 목적이었다면 요즘에는 수많은 데이터를 HTTP를 통해 전송합니다. 이미지, 음성, 영상, 파일, JSON, XML 등등 거의 모든 형태의 데이터를 전송할 수 있습니다. 소수의 응용프로그램만 TCP/IP 연결을 통해 데이터를 주고 받습니다. (예를 들어 게임 서버와 데이터를 주고받을 때) HTTP 역사 HTTP는 1991년 부터 명세가 조금씩 발전했습니다. 하지만 가장 많이 사용하는 HTTP/1.1 명세와 최근 점차 사용량이 늘어가고 있는 HTTP/2, HTTP/3도 존재합니다... 2021. 12. 5.
Proxy 개념(1) 최근 궁금한 부분이 생겼다. 외부 API 서버로 데이터를 요청하는데, 중간에 Proxy 서버를 경우 해야 하는 경우이다. 외부 API 인터페이스에 맞게 요청하는데, 별도의 설정없이 프락시 서버에 요청하면 응답이 실제 오는지 아니면 별도의 데이터를 추가해서 전달해야 하는지 궁금증이 생겼다. 순서 Proxy의 서버에 대한 개념 정리 MS-Azure에 Proxy 서버 생성 Proxy 서버 생성 후 공공API 호출을 경유하여 테스트 진행 Proxy Proxy는 클라이언트와 서버 사이에 위치하여 HTTP 메세지의 중개인 역할을 한다. 웹 프락시 서버는 클라이언트의 입장 (요청 보내는 곳)에서 트랜잭션을 수행하는 중개인이다. 트랜잭션이란 하나의 비즈니스 로직을 말하다는데, 여기서는 요청을 보내고 경유한 후 응답을 .. 2021. 10. 31.
방화벽, DMZ, 내부망 [투덜거리기] 10시 퇴근 후 집으로 돌아가는 버스 안 강남역, 신사역의 10시 풍경을 보며 풍겨오는 술냄새가 부럽다. 그 생각도 잠시 업무에 다시 신경이쓰여 오늘 관련 이슈사항을 정리하기로 했다. [시작] 현재 고객사 내부망에서 외부 서버와 연계하는 업무를 맡아 진행하고 있다. 개발자로 외부 서비스를 연계하기 위해 네트워크 관련 지식이 많이 필요한 것 같다. 해당 업무를 위해서 인프라 담당자와 이야기 하면서, 뜬구름처럼 알고 있는 네트워크 지식으로 힘겹게 대화를 이어가니, 상당히 업무를 진행하기가 힘들었다. 외부사람에 질문에도 많은 답변과 자세히 알려주신 인프라 담당자님을 위해서라도, IT 업무용 지식을 조금 정리해야겠다. 오늘은 방화벽, DMZ, 내부망이다. 방화벽 방화벽 관련해서 가장 잘 정의한 곳.. 2021. 10. 28.
DHCP DHCP (Dynamix Host Configuration Protocol) DHCP란 호스트의 IP주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜을 말합니다. DHCP에 대한 표준은 RFC문서에 정의되어 있으며, DHCP는 네트워크에 사용되는 IP주소를 DHCP 서버가 중앙집중식으로 관리하는 클라이언트/서버 모델을 사용하게 됩니다. DHCP지원 클라이언트는 네트워크 부팅 과정에서 주소를 요청하고 이를 얻을 수 있습니다. 네트워크 안에 있는 컴퓨터에 자동으로 네임 서버 주소, IP주소, 게이트웨이 주소를 할당해주는 것을 의미하고, 해당 클라이언트에게 일정 기간 임대를 하는 동적 주소 할당 프로토콜입니다. 이때 사용하는 프로토콜이 BOOTP(Bootstrap P.. 2021. 7. 10.
REST API & URI 설계 원칙 (RFC-3986) REST ( Representational State Transfer : 자원의 상태 전달) - 네트워크 아키텍처이다. 1. Client와 Server가 서로 독립적으로 분리되어 있어야 합니다. 클라이언트와 서버가 한 곳에 구성되어있다던지, 서로의 정보가 서로 밀접하다면 Rest api를 잘 못 지켰다고 할 수 있습니다. 2. Stateless 해야 합니다. 즉 요청에 대해서 클라이언트의 상태를 서버에 저장하지 않습니다. 즉 서버는 상대를 알지 못해야 합니다. 3. Cache 클라이언트는 서버의 응답을 Cache 할 수 있어야 합니다. 클라이언트가 Cache를 통해서 응답을 재사용할 수 있어야 하며, 이를 통해서 서버의 부하를 낮출 수 있습니다. 4. Layed System 서버와 클라이언트 사이에 방화.. 2021. 4. 1.
TCP/IP 1.TCP/IP 전송 제어 프로토콜(Transmission Control Protocol, TCP, 문화어: 전송 조종 규약)은 인터넷 프로토콜 스위트(IP)의 핵심 프로토콜 중 하나로, IP와 함께 TCP/IP라는 명칭으로도 널리 불린다. TCP는 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로, 에러 없이 교환할 수 있게 한다. TCP는 전송 계층에 위치한다. 네트워크의 정보 전달을 통제하는 프로토콜이자 인터넷을 이루는 핵심 프로토콜의 하나로서 국제 인터넷 표준화 기구(IETF)의 RFC 793에 기술되어 있다. -위키백과- 인터넷 프로토콜(IP, Internet Protocol)은 송신 호스트와 수신 호스트가 패킷 교환 네트워크(패킷.. 2021. 3. 7.
패리티 비트 패리티 비트(Parity bit)는 정보의 전달 과정에서 오류가 생겼는지를 검사하기 위해 추가된 비트이다. ASCII코드를 예를 들면 아스키코드는 7비트의 정보와 패리티 검사를 위한 1비트로 구성된 8비트 코드이다. 아스키 문자의 비트 1부터 7까지는 전송하고자 하는 정보를 나타내며, 비트 8은 패리티 비트를 나타낸다. 패리티 비트는 전송 도중에 발생하는 오류를 검출하는 데 사용된다. 패리티에는 홀수 패리티와 짝수 패티리 두 가지가 있다. 홀수 패리티 경우에 비트 8은 문자 내에 1의 개수를 전부 합하여 홀수가 되도록 정해지며, 짝수 패리티 경우에는 1의 개수가 짝수가 되로록 정해진다. ASCII코드의 7문자를 부호화시킨 7비트는 다음과 같다. 0110111 여기서 홀수 패리티를 사용한다면 1이 5개이므.. 2021. 3. 7.
NTP NTP 서버는 Network Time Protocol로 시간을 동기화하는 서버입니다. 서버나 네트워크 기기의 시간이 안 맞으면 발생한 현상을 시간대별로 나열할 수가 없으며, 정보를 정리할 수도 없습니다. NTP 서비스를 제공하는 서버 소프트웨어로는 UNIX 계열 OS에서 작동하는 ntpd, Window 계열 OS에서 표준으로 내장된 w32 time이 있습니다. NTP 서버는 UDP를 사용한다. NTP 서버가 시간을 동기화하는 데 사용하는 NTP는 클라이언트에게 시간 요청을 하고 응답을 받는 단순한 동작을 합니다. 신뢰성보단 신속성을 우선시하기 때문에 UDP(port : 123)을 사용합니다. NTP 서버는 계층 구조로 되어 있다. NTP 서버는 stratum이라는 값을 사용한 계층 구조로 되어 있습니다... 2021. 2. 20.
ICMP ICMP [Internet Control Message Protocol] : 인터넷 제어 메시지 프로토콜 오류 메시지를 전송받는 데 주로 사용됩니다. ip계층에서 발생한 진단/제어로 사용되거나 오류에 대한 응답으로 만들어진다. 오류에 대한 응답은 원래 패킷의 소스 ip주소로 보내진다. 용도는 뭘까요? - 인터넷/통신 상에서 발생한 일반적인 상황에 대한 보고 - 인터넷/통신 상에서 발생한 오류에 대한 보고 - 위험한 상황에 대한 경보 기능은 뭘까요? - IP 프로토콜을 이용하여 ICMP 메시지 전달 - 네트워크 계층에 속한다 이 말은 종단 간 데이터 수송 역할은 하지 않고 최종 IP 수신IP 확인. OSI 7 계층에서 계층에서 ICMP 프로토콜은 Network 계층에 속하며 IP 프로토콜과 같이 사용한다... 2021. 2. 20.