Study48 08. TCP&IP TCP / IP TCP / IP 패킷 통신 방식의 인터넷 프로토콜인 IP(인터넷 프로토콜) + 전송 조절 프로토콜인 TCP(전송 제어 프로토콜) IP → 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있다. TCP → IP 위에서 동작하는 프로토콜, 데이터의 전달을 보증하고 보낸 순서대로 받게 해준다. HTTP, FTP, SMTP 등 TCP를 기반으로 한 많은 수의 애플리케이션 프로토콜들이 IP 위에서 동작하기 때문에 묶어서 TCP/IP라고 부르기도 한다. 세그먼트(segment) TCP가 데이터 스트림을 잘게 나눠 IP패킷이라고 불리는 봉투에 담아 인터넷을 통해 데이터를 전달하는 단위 각 TCP세그먼트는 하나의 IP주소에서 다른 IP주소로 IP패킷에 담겨 전달된다. IP패킷.. Study/HTTP 2024. 4. 16. 07. StartRow&StatusCode 시작줄 Method 모든 메서드는 그 뜻을 정의할 뿐 기능은 내가 만들어야한다. Method Explain isBody? GET 서버에서 어떤 문서를 가져온다. false HEAD 서버에서 어떤 문서에 대해 헤더만 가져온다. false POST 서버가 처리해야 할 데이터를 보낸다. true PUT 서버에 요청 메시지의 본문을 저장한다. true TRACE 메시지가 프락시를 거쳐 서버에 도달하는 과정을 추적한다. false OPTIONS 서버가 어떤 메서드를 수행할 수 있는지 확인한다. false DELETE 서버에서 문서를 제거한다. false LOCK 사용자가 리소스를 잠글 수 있게 해준다. MKCOL 사용자가 문서를 생성할 수 있게 해준다. COPY 서버에 있는 리소스를 복사한다. MOVE 서버에 있.. Study/HTTP 2024. 4. 16. 0.6 URL escape String URL escape String Character URL Escape Codes String Literal Escape Code SPACE %20 $20 %3E $3E # %23 $23 % %25 $25 + %2B $2B { %7B $7B } %7D $7D | %7C $7C \ %5C $5C ^ %5E $5E ~ %7E $7E [ %5B $5B ] %5D $5D ‘ %60 $60 ; %3B $3B / %2F $2F ? %3F $3F : %3A $3A @ %40 $40 = %3D $3D & %26 $26 $ %24 $24 Types of Schme Schme 설명 사용법 http - 일반 기본 HTTP프로토콜 기본포트 : 80 http://:/?# ex)http://www.naver.com/index.ht.. Study/HTTP 2024. 4. 16. 05. HTTP2.0 HTTP 2.0 주요목표 전체 요청을 통해 지연 시간을 줄이기 응답 다중화를 지원 HTTP헤더 필드의 효율적 압축을 통해 프로토콜 오버헤드를 최소화 요청 우선순위 지정을 추가하며, 서버 푸시를 지원 보안 강화 주요 목표를 이루기 위해 다양한 보조 프로토콜을 개선 HTTP/2.0은 HTTP의 애플리케이션 의미 체계를 어떤 식으로도 수정하지 않는다. 모든 핵심 개념(ex. HTTP메서드, 상태코드, URI 및 헤드 필드)은 그대로 유지된다. But!! 클라이언트와 서버 간에 데이터 서식(프레임)이 지정되는 방식과 데이터가 전송되는 방식을 수정 클라이언트와 서버는 전체 프로세스를 관리하며 애플리케이션의 모든 복잡성을 바이너리 프레이밍계층 내에 숨긴다. 바이너리 프레이밍 계층(Binary Framework) 전.. Study/HTTP 2024. 4. 16. 04. HTTP 1.1 HTTP 1.1 용어사전 TCP의 다양한 기능을 수행하기 위해서는 TCP헤더에 다양한 정보가 필요한데, 데이터를 전송할 때에 꼭 필요하지 않은 처리나 정보 등을 일컫는 말 오버헤드(Overhead) 컨텐츠의 수가 증가하면서 TCP의 연결에 부담이 걸려 그 문제를 해결해야 하는 필요성이 생겨 발달했다. 위 그림에서 초창기에는 요청마다 왼쪽과 같이 TCP를 새로 연결시켜 줘야 했다. 때문에 1.1버전에서는 지속연결(presistent Connection)을 통해 여러개의 컨텐츠를 요청할 수 있게 되었다. 1.0에서는 Connection: keep-alive 을 통해 연결을 유지 했지만, 1.1부터는 모든 요청/응답이 Connection을 재사용하도록 설계 되었고 Connection: close 를 통해 명시.. Study/HTTP 2024. 4. 16. Ununtu 22.04 WireGuard를 이용한 VPN 접속하기 필요 요소 Ubuntu 22.04 서버 슈퍼 권한을 가지고 있는 계정 VIM(선택사항; cat을 사용해도 됨) WireGuard 설치 sudo apt update sudo apt install wireguard WireGuard 구성 WireGuard의 인터페이스를 구성하고 관리 할 수 있는 wg, wg-quick이라는 두가지 명령 도구를 함께 제공한다. 다음 명령을 통해 공용 및 개인키를 생성한다. wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey 생성된 키는 /etc/wireguard 디렉토리에 생성된다. cat, vim 등과 같은 편집기를 통해 해당 데이터를 읽을 수 있지만, 개인.. Study/Network 2024. 4. 8. 03. HTTP의 역사 HTTP 역사(큰 틀로 간단히 정리) 버전 작성시 유의 사항 버전 번호는 분수로 다루어지지 않는다. 버전의 각 숫자는 각각 분리된 숫자로 비교한다. 때문에 각 숫자는 반드시 따로따로 비교해야 한다. ex) 1.0 은 1 과 0으로 나누어 진다. ex) 2.22와 2.3을 비교시 22와 3으로 비교하기에 22가 더 높은 버전으로 간주한다. HTTP 0.9 HTTP가 발전하기 전에 버전이 명시되어 있지 않아 이전 버전을 0.9로 칭함 간단히 GET 메서드만 존재했다. HTTP 1.0 GET /mypage.html HTTP/1.0 User-Agent: NCSA_Mosaic/2.0 (Windows 3.1) 200 OK Date: Tue, 15 Nov 1994 08:12:31 GMT Server: CERN/3.0.. Study/HTTP 2024. 3. 12. 02.비연결성과 StateLess 프로토콜 비연결성(Connectionless) 클라이언트와 서버가 한번 연결을 맺은 후, 클라이언트 요청에 대한 서버의 응답이 끝나면 연결을 끊는 성질 무상태(StateLess) 프로토콜 상태유지 상태를 유지하고 있으면 해당 서버가 해당 유저를 기억하고 있기에 그 서버만 응답해야 한다. 만약 특정서버가 장애가 발생한다면, 유저 상태가 사라지기 때문에 처음부터 다시 서버에 요청해야 한다. 무상태 상태가 유지되지 않기 때문에 아무 서버에서나 호출이 가능 해진다. 서버에 장애가 생기더라도 다른서버에서 응답하여 전달 할 수 있다. 즉, 응답 서버를 쉽게 바꿀 수 있기에 수평적인 확장에 유리하다. Study/HTTP 2024. 3. 5. 01.클라이언트 - 서버구조 클라이언트 - 서버 구조 요청(Request) → 브라우저인 클라이언트에 의해 전송되는 메시지 응답(Response) → 서버에서 응답으로 클라이언트에게 전송되는 메시지 TCP/IP 패킷 통신 방식의 인터넷 프로토콜인 IP(인터넷 프로토콜) + 전송 조절 프로토콜인 TCP(전송 제어 프로토콜) IP → 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있다. TCP → IP 위에서 동작하는 프로토콜, 데이터의 전달을 보증하고 보낸 순서대로 받게 해준다. HTTP, FTP, SMTP 등 TCP를 기반으로 한 많은 수의 애플리케이션 프로토콜들이 IP 위에서 동작하기 때문에 묶어서 TCP/IP라고 부르기도 한다. Study/HTTP 2024. 3. 5. SOILD원칙?? SOLID원칙이란? 로버트 마틴이 정리한 객체 지향 설게의 5가지 원칙을 의미 S(SRP; Single Responssibility Principle) 단일 책임의 원칙 하나의 객체는 하나의 책임만 갖어야 한다. 응집도 : 모듈 내보의 기능적인 응집도 ex) 카메라라는 기능 안에 카메라의 모든 기능이 모여있어야(응집되어야) 한다. 결합도 : 모듈 간의 상호 결합 정도 하나의 객체는 하나의 기능만 하도록 설계하여 다른 기능들과의 상호관계가 없이 만들어야 한다. ex) 시스템에 변화가 생겼을시 결합도가 높으면 다른 기능을 수정 할 때 고려해야 할 사항이 많아진다. 응집도는 높게, 결합도는 낮게 설계해야 한다. O(OCP; Open Closed Principle) 개방 폐쇄 원칙 확장에 대해서는 개방적, 변경.. Study/팁 2024. 1. 13. Docker Compose 커맨드 사용방법 Docker Compose 커맨드 사용법 Docker Compose는 여러 개의 컨테이너(container)로 구성된 애플리케이션을 관리하기 위한 간단한 오케스트레이션(Orchestration) 도구입니다. 이번 포스팅에서는 Compose 애플리케이션을 터미널에서 제어하기 위해 사용되는 Docker Compose 커맨드에서 대해서 알아보겠습니다. -f 옵션 Docker Compose는 기본적으로 커맨드가 실행하는 디렉토리에 있는 docker-compose.yml또는 docker-compose.yaml를 설정 파일로 사용합니다. 다른 이름이나 경로의 파일을 Docker Compose 설정 파일로 사용하고 싶다면 -f 옵션으로 명시를 해줍니다. $ docker-compose -f docker-compose-.. Study/Docker 2023. 11. 15. MSS(Maximum Sagment Size) vs MTU(Maximum Transmission Unit) MSS(Maximum Sagment Size) 이론상 Sagment의 최대 크기는 68Kb TCP 기반의 정보로, TCP데이터 길이만을 의미 MSS는 TCP의 전송단위인 Sagment의 최대 사이즈를 결정하게 된다. MSS는 TCP 연결을 위한 3-way handshake 과정 중에 결정 된다. TCP연결을 위한 초기 Sagment를 전송 시에 옵션 값에 MSS를 같이 보내 이를 결정한다. MTU(Maximum Transmission Unit) IP기반의 정보로 IP헤더, TCP헤더, TCP데이터를 모두 포함하는 길이 네트워크의 하드웨어에서 설정한 데이터 전송 제한의 최대 크기이다. 즉, 매체에 따라 값이 다르다. MSS와 MTU의 관계 MSS는 MTU에 의해 값이 결정되게 되는데, 통상 MTU는 MSS.. Study/Network 2023. 10. 14. 이전 1 2 3 4 다음 💲 추천 글 728x90 반응형