Study52 12. Proxy 12. Proxy웹 중개자Web Proxy Server는 중개자다.Proxy는 클라이언트이면서 웹 서버이다.Proxy의 좋은 서비스를 제공 받을 수 있다.클라이언트와 서버 사이에서 HTTP의 메시지를 정리하는 중개인 처럼 동작한다.Public Proxy대부분의 Proxy는 공용 프락시이다.이용하는 사용자가 많을 수록 좋다.공통된 요청에서 이득을 취해 비용효율이 올라가기 때문Personal Proxy흔하진 않다.클라이언트에서 직접 실행시키는 형태로 주로 사용된다.브라우저 확장프로그램 or 성능 개선 or 무료 ISP를 위한 광고운영 등Proxy vs GateWayProxy같은 프로토콜을 사용하는 둘 이상의 애플리케이션을 연결GateWay다른 프로토콜을 사용하는 둘 이상의 애플리케이션을 연결프로토콜 변환.. Study/HTTP 2024. 5. 21. 11. Connection close ← mystry 10. Connection: close ← mystryConnection 끊기의 허용, 재사용, 멱등성커넥션은 에러가 없더라도 언제든 끊을 수 있다.클라이언트가 트랜잭션을 수행 중 전송 커넥션이 끊기게 되면, 클라이언트는 그 트랜잭션을 재시도 하더라도 문제가 없다면 커넥션을 다시 맺고 한번 더 전송을 시도해야 한다.파이프라인커넥션의 경우 커넥션이 갑자기 끊기게 될때 얼마만큼의 요청이 처리되었는지 전혀 알 수 없기 때문에 주의해야 한다.정적인 환경인 GET은 반복적인 상황에 데이터의 영향을 끼치지않지만, POST의 경우 주의해야한다.비멱등인 메서드나 순서에 대해 에이전트가 재요청 할 수 있는 기능을 제공해도 자동으로 재시도하면 안된다.우아한 Connection 끊기전체 끊기와 절반 끊기애플리케이션은 TCP.. Study/HTTP 2024. 5. 21. 10. WebServer Web Server HTTP와 연결하고 요청과 응답을 처리한다. 웹서버란 웹 서버 소프트웨어와 웹페이지 제공에 특화된 장비(컴퓨터같은) 양쪽을 가르킨다. Web Server의 종류 다목적 소프트웨어 웹 서버 네트워크에 연결된 표준 컴퓨터 시스템에서 동작한다. 오픈 소스 소프트웨어, 상용 소프트웨어를 사용 할 수도 있다. ex) Aphache, MicroSoft, W3C의 직소 등 임베디드 웹 서버 일반 소비자용 제품에 내장될 목적으로 만들어진 작은 웹 서버 Web Server가 하는 일 1. 커넥션을 맺는다. 클라이언트의 접속을 받아들이거나 끊는다. 웹 서버는 커넥션이 발생하는 순간 IP를 추출하고 상대방의 신원을 파악한다. 커넥션이 발생하면 웹 서버는 새 커넥션을 커넥션 리스트에 추가한다. 몇몇 웹 서.. Study/HTTP 2024. 4. 16. 09. HTTP Connection Management Connection Header 커넥션 헤더에는 다음 세가지 종류의 토큰을 전달 할 수 있다. HTTP 헤더 필드명 → 이 커넥션에만 해당되는 헤더들을 나열 임시적인 토큰 값 → 커넥션에 대한 비표준 옵션을 의미 close 값 → 커넥션이 작업이 완료되면 종료되어야함을 의미 Connection Header의 있는 모든 헤더 필드는 메시지를 다른곳으로 전달하는 시점에 삭제되어야 한다. 헤더 보호기 Connenction Header는 홉별(hop-by-hop) 헤더명을 기술하는데 이것을 헤더 보호기라고 한다. Connection Header에 명시된 헤더들이 전달되는것을 방지 Connection Header에 명시되지 않았더라도 홉별 헤더인 것들도 있다. Proxy-Authenticate Proxy-Conn.. Study/HTTP 2024. 4. 16. 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. 이전 1 2 3 4 5 다음 💲 추천 글 728x90 반응형