반응형 분류 전체보기131 HTTP 엔터티와 인코딩 15.1 메시지는 컨테이너, 엔터티는 화물HTTP 메시지는 컨테이너처럼 엔터티를 담아 전송됨. 여기서 HTTP 엔터티가 바로 메시지의 실질적인 화물(payload) 임.메시지: 컨테이너 (헤더와 엔터티 포함)엔터티: 화물 (실제 데이터)엔터티 본문엔터티 본문(Entity Body)은 전송하고자 하는 가공되지 않은 데이터를 담고 있음. 이 데이터의 타입, 인코딩 방식 등은 모두 엔터티 헤더에 담겨 본문을 설명함.Content-Type: 데이터가 무슨 타입인지 말해줌 (예: text/html).Content-Encoding: 데이터가 압축되었는지 혹은 추가적인 인코딩이 되었는지 말해줌 (예: gzip).Content-Length: 전달되는 메시지의 길이나 크기.Content-Language: 전달되는 객체와.. 2025. 11. 21. 보안 HTTP 1. HTTP를 안전하게 만들기웹은 안전한 방식의 HTTP를 필요로 함.서버 인증: 클라이언트는 자신이 위조된 서버가 아닌 진짜와 이야기하고 있음을 알 수 있어야 함클라이언트 인증: 서버는 자신이 가짜가 아닌 진짜 사용자와 이야기하고 있음을 알 수 있어야 함무결성: 클라이언트와 서버는 데이터가 위조되는 것으로부터 안전해야 함암호화: 클라이언트와 서버는 도청에 대한 걱정 없이 서로 대화할 수 있어야 함효율: 저렴한 클라이언트나 서버도 이용할 수 있고, 알고리즘은 충분히 빨라야 함편재성: 프로토콜은 거의 모든 클라이언트와 서버에서 지원되어야 함관리상 확장성: 누구든 어디서든 즉각적인 보안 통신을 할 수 있어야 함적응성: 현재 알려진 최선의 보안 방법을 지원해야 함사회적 생존성: 사회의 문화적, 정치적 요구를.. 2025. 11. 14. HTTP 클라이언트와 식별쿠키 & 기본 인증 보호되어 있는 글 입니다. 2025. 11. 7. HTTP 캐시 💡 캐시란?캐시는 자주 쓰이는 웹 리소스(문서, 이미지 등)의 사본을 자동으로 보관하는 HTTP 장치웹 브라우저나 프락시 서버 같은 중간 지점에서 사본을 저장했다가, 이후 같은 요청이 들어왔을 때 원 서버 대신 응답을 제공하는 역할을 함 캐시의 역할?1. 불필요한 데이터 전송을 줄여서, 네트워크 요금을 절약2. 대역폭을 늘리지 않고도 페이지를 빨리 불러올 수 있게 하여 네트워크 병목을 줄여줌3. 원 서버에 대한 요청을 줄여서 부하를 줄이고, 더 빠른 응답처리가 가능하게 해줌4. 거리로 인한 지연을 줄여줌 캐시가 성능을 개선하고 비용을 줄이는 방법7.1 불필요한 데이터 전송 최소화다수의 클라이언트가 같은 문서에 접근할 때, 캐시가 없다면 서버는 모든 클라이언트에게 동일 문서를 각각 전송해야 함캐시를 이용.. 2025. 10. 31. HTTP 웹 서버 1. 웹 서버란웹 서버(Web Server)는 HTTP 요청을 처리하고 응답을 반환하는 프로그램클라이언트(브라우저)의 요청을 받아 HTML, 이미지, JSON 등 콘텐츠를 전달 웹 서버의 핵심 기능- 요청(Request)을 수신- 리소스(Resource)를 탐색하고 처리- 응답(Response)을 반환모든 웹 서버는 이 세 단계를 중심으로 작동 웹 애플리케이션 서버와의 차이?웹 서버가 처리하지 못하는 동적인 요청을 처리하는 서버데이터베이스 연결, 비즈니스 로직 수행, 세션 관리 등을 담당 핵심 역할- Java, Python, Node.js 등으로 작성된 코드 실행- 요청에 따라 동적 페이지 생성 (예: JSP, Servlet, Flask, Spring)- DB와 연동하여 데이터를 조회하거나 수정- 세션 .. 2025. 10. 16. HTTP 커넥션 관리 (TCP/IP) 1. TCP와 HTTP 관계1. TCP: HTTP의 신뢰성을 책임HTTP는 애플리케이션 계층 프로토콜로서, 데이터 전송의 신뢰성 문제를 전적으로 TCP (Transmission Control Protocol)에 의존. TCP의 핵심 역할- TCP는 메시지를 작은 단위로 나누어(세그먼트) 전송하고, 네트워크를 통해 이 바이트들이 순서에 맞게 정확히 목적지에 전달되도록 보장.프로토콜 스택- HTTP 통신은 일반적으로 IP (네트워크 계층) → TCP (전송 계층) → HTTP (애플리케이션 계층)의 계층 구조를 따름.- HTTPS는 이 사이에 TLS/SSL (보안 계층)이 추가되어 암호화 기능을 제공. 2. 데이터 전달의 메커니즘: 세그먼트와 패킷HTTP 메시지는 네트워크를 통해 전달될 때 여러 계층을 거치.. 2025. 10. 10. HTTP와 URL, 그리고 앱 커스텀 스킴 경험 1. HTTP란?Hypertext Transfer Protocol의 약자로 웹 상에서 데이터를 주고받기 위한 프로토콜TCP/IP 통신 프로토콜을 기반으로 신뢰성 있는 전송요청과 응답을 통해 작동을 함다양한 종류의 데이터를 전달할 수 있도록 설계 (html, css, javascript, jpg, mp4, gif ..)클라이언트 - 서버 구조에서 통신을 진행2. HTTP 기본 요소리소스 : http로 전송할 수 있는 어떠한 종류의 콘텐츠 소스.트랜잭션 : HTTP 트랜잭션 = 요청 명령 + 응답 결과- HTTP 메시지라고 불리는 정형화된 데이터 덩어리를 이용해 이루어짐HTTP 메서드 : 모든 요청 메시지는 한 개의 메서드를 가짐. 서버에게 어떤 동작을 취해야하는지 알려줌.- (GET,POST,PUT,DEL.. 2025. 9. 15. [프로그래머스 JS] 우박수열 정적분 📌 문제 요약프로그래머스의 "우박수열 정적분" 문제는 우박수열을 구성한 뒤, 정적분 값을 계산하는 문제입니다. 우박수열은 특정 수가 1이 될 때까지 홀수면 3배 + 1, 짝수면 2로 나누는 방식으로 계산합니다.이 문제에서는 우박수열이 만들어내는 계단식 그래프 아래 넓이를 계산해야 합니다.🧠 핵심 개념우박수열 구하기좌표 범위(ranges)마다 면적(정적분 값) 계산삼각형이 아닌 사다리꼴의 넓이 공식 사용💡 풀이 접근우박수열을 배열로 구한다 (예: [k, ..., 1])range 배열을 순회하면서, 각 구간에 대해 넓이를 계산한다넓이는 사다리꼴 넓이 공식: (윗변 + 아랫변) / 2시작 인덱스가 끝 인덱스보다 크면 -1을 반환💻 자바스크립트 풀이function solution(k, ranges) { .. 2025. 4. 6. [Django linux-redhat 배포 시] mysqlclient 2.2.4 ver 설치 에러 subprocess-excited-with-error / mysql-devel 설치 시 mariadb-devel로 인식되는 오류 해결 Django 프로젝트를 ec2 서버에 배포를 하는 도중 에러가 발생했다. 아무리 구글링을 해봐도 해결법이 나오지 않던 중 3일만에 해결을 하여 기록한다. 설치한 라이브러리 - asgiref 3.7.2 - Django 4.2.10 - Djangorestframework 3.1.4 - Mysqlclient 2.2.3 - sqlparse 0.4.4 먼저 ec2 서버에 접속 후 git, python3 버전을 설치했다. 그리고 git에 올라가있는 django프로젝트 gitlab 소스코드를 clone 하였고, requirements.py에 저장해둔 내 라이브러리 설치 버전들을 install 하려고 했다. Django 등 다른 라이브러리들은 설치가 잘 되었으나 mysqlclient가 subprocess-excited.. 2024. 2. 20. 이전 1 2 3 4 ··· 15 다음