일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Node.js
- 소켓
- type challenge
- 알고리즘
- 레벨 1
- javascript
- 수학
- Nestjs
- HTTP
- 타입스크립트
- HTTP 완벽 가이드
- 문자열
- Algorithm
- ip
- 프로그래머스
- 그래프
- dp
- TCP
- 크롤링
- 백준
- dfs
- 쉬운 문제
- Crawling
- 가천대
- 타입 챌린지
- 자바스크립트
- BFS
- socket
- typescript
- 프로그래머스 레벨 2
- Today
- Total
목록HTTP (10)
kakasoo
HTTP는 여러 언어와 문자로 된 국제 문서들의 처리 및 전송을 지원해야 한다. 16.1 국제적인 콘텐츠를 다루기 위한 HTTP 지원 엔터티 본문은 그저 비트일 뿐이다. 이 비트들을 어떻게 해석할 것인지를 서버와 클라이언트가 의사소통해야 한다. 서버는 클라이언트에게 HTTP Content-Type charset 매개변수와 Content-Language 헤더를 통해서 알려준다. 클라이언트는 서버에게 Accept-Charset과 Accept-Language 헤더를 보내서 자신이 해석 가능한 언어를 말한다. Charset은 iso 인코딩을 말하는 것이고, Language는 인간의 언어를 의미하는데, 콜론으로 구분하여 q=0.8과 같이 선호도를 표현할 수 있다. 16.2 문자집합과 HTTP 16.2.1 차셋(C..
HTTP는 다음을 보장한다. 객체는 올바르게 식별된다. ( Content-Type, Content-Language 등 헤더를 이용한다. ) 객체는 올바르게 압축이 풀린다. ( Content-Length, Content-Encoding 등 헤더를 이용한다. ) 객체는 항상 최신이다. ( 엔터티 검사, 캐시 만료 제어 ) 사용자의 요구를 만족한다. ( 내용 협상을 위한 Accept 관련 헤더를 이용한다. ) 네트워크 사이를 빠르고 효율적으로 이동한다. 조작되지 않고 온전하게 ( 안전하게 ) 도착할 것이다. 15.1 메시지는 컨테이너, 엔터티는 화물 HTTP를 컨테이너라고 한다면 HTTP 엔터티는 메시지의 실질적인 화물이다. 엔터티는 엔터티 헤더와 엔터티 본문으로 나뉜다. HTTP/1.1의 10가지 주요 엔터..
14.1 HTTP를 안전하게 만들기 HTTP 보안 버전은 효율적이고 이식성이 좋아야 하고 관리가 쉬워야 하며 현실 세계의 변화에 대한 적응력이 좋아야 한다. ⇒ 이를 위해서 아래의 것이 필요하다. 서버 인증 : 클라이언트가 상대 서버가 진짜임을 인식할 수 있어야 한다. 클라이언트 인증 : 서버가 상대 클라이언트가 진짜임을 인식할 수 있어야 한다. 무결성 : 클라이언트와 서버는 그들의 데이터가 위조되는 것으로부터 안전해야 한다. 암호화 : 클라이언트와 서버는 도청에 대한 걱정 없이 서로 대화할 수 있어야 한다. ( SSL ) 효율 : 저렴한 클라이언트나 서버도 이용할 수 있도록 알고리즘은 충분히 빨라야 한다. 편재성 : 프로토콜은 거의 모든 클라이언트와 서버에서 지원되어야 한다. 관리상 확장성 : 누구든 ..
여기서는 네트워크, 서버, Express.js 등을 공부하면서 내가 경험한 착각들에 대해서 설명하고자 한다. 사실, 이 대부분의 문제들은 내 안에서 이미 해소가 된 것들이다. 그러나 다른 사람들, 동기나 후배들이 과제를 하는 모습을 보면서, 다른 사람들도 내 패턴을 그대로 답습할 수 있다는 것을 느끼고, 나와 같은 실수나 착각을 반복하지 않기를 바라는 마음에서 글을 쓴다. 잘하는 사람도 있겠지만 아예 새로 시작하는 사람들도 있을 것이고, 이 문제들을 직면하고 좌절할 사람들도 있을 것이기 때문에, 작성하는 글인 만큼, 이미 안다면 넘어가도 좋을, 그저 그런 글이다. 일단 처음에 공부를 하면서 겪은 문제들은 아래와 같다. 당연히 설명할 순서도 아래와 같다. 서버라는 게 뭐지? → 서버라는 개념을 너무 거창하..
4.6 파이프라인 커넥션 HTTP/1.1은 지속 커넥션을 통해서 요청을 파이프라이닝할 수 있다. 이는 keep-alive 커넥션의 성능을 더 높여준다. 파이프라인은 응답을 기다리지 않고 요청을 보내는(...?) 방식이다. 파이프라인에는 제약이 있다. HTTP 클라이언트는 커넥션이 지속 커넥션인지 확인하기 전까지는 파이프라인을 이어서는 안 된다. (지속 커넥션이 아니면 뒤의 요청이 무시 당한다.) HTTP 응답은 요청 순서와 같아야 한다. HTTP 메시지는 순번이 없기 때문에 응답이 순서 없이 오면 정렬할 방법이 없다. HTTP 클라이언트는 도중에 커넥션이 끊기더라도 다시 요청을 보낼 수 있어야 한다. 이 경우에는, 몇 개의 요청까지 성공했는지 확인할 방법이 있어야 한다. HTTP 클라이언트는 POST 요..
HTTP 명세에는 HTTP 메시지에 대해서 자세히 설명하고 있지만 HTTP 커넥션에 대해서는 설명하고 있지 않다. 하지만 HTTP 애플리케이션을 만드려면 HTTP 커넥션 역시 잘 알고 있어야 한다. 이 장에서는 아래와 같은 내용을 배운다, HTTP는 어떻게 TCP 커넥션을 사용하는가. TCP 커넥션의 지연, 병목, 막힘 병렬 커넥션, keep0alive 커넥션, 커넥션 파이프라인을 활용한 HTTP의 최적화 커넥션 관리를 위해 따라야 할 규칙들 별도 정리 및 의문점 이번에는 이 단락을 활용하여, 밑의 내용을 공부해본 사람들에게 질문을 던지도록 하겠다. 패킷이란 무엇인가? HTTP의 네트워크 프로토콜 스택과 HTTPS의 네트워크 프로토콜 스택을 구분하여 설명하고, 그 차이를 말하라. 4.1 TCP 커넥션 H..
메시지가 어떻게 흘러가는가 HTTP 메시지의 세 부분 (시작줄, 헤더, 개체 본문) 요청과 응답 메시지의 차이 요청 메시지가 지원하는 여러 기능(method) 응답 메시지가 반환하는 상태 코드(status code) 여러 HTTP 헤더들은 무슨 일을 하는가 별도 정리 및 의문점 entity란 무엇인가? https://linuxism.ustd.ip.or.kr/45 안전한 메서드의 목적 (61p)이 정확히 무엇인지 이해가 가지 않습니다. PUT : 요청의 본문을 가지고, 요청 URL의 이름대로 새 문서를 만들거나 교체하도록 하는 것이다. → 이 말의 의미가, PUT 메서드의 REST한 의미에 더 부합하는 것인지? 3.1 메세지의 흐름 HTTP 메시지는 HTTP 애플리케이션 간에 주고 받는 데이터 블록 으로,..
HTTP 트랙잭션은 요청 명령과 응답 결과로 이루어져 있다. 요청 명령 GET / special/saw-blade.gif HTTP/1.0 Host: www.joes-hardware.com 응답 결과 HTTP/1.0 200 OK Content-type: image/gif Content-length: 8572 메서드 HTTP 요청 메시지는 1개의 메서드를 가진다. 메서드는 서버에서 어떤 동작이 취해져야 하는지를 뜻한다. 흔히 GET, PUT, DELETE, POST, HEAD를 쓴다. 상태 코드 모든 HTTP 응답 메시지는 상태 코드를 가진다. 상태 코드는 클라이언트에게 요청에 대한 결과를 알려주는 세 자리 숫자이다. 웹 페이지는 여러 객체로 이루어질 수도 있다 웹 브라우저는 ‘시각적으로 풍부한’ 웹 페이지..
하이퍼텍스트 전송 프로토콜 (HTTP, yperText Transfer Protocol) 서문 : 이 책은 무얼 말하고자 하는가? HTTP를 어떻게 사용하는가? HTTP를 왜 사용하는가? HTTP를 조사하는 데에 독자들이 시간을 줄일 수 있도록 http를 동작하는 데 필요한 주요 기술 소개. HTTP나 웹의 기본적인 구조를 이해하고 싶어 하는 독자를 대상으로 한 책. 소프트웨어, 하드웨어 기술자는 HTTP 및 관련 웹 기술에 대한 참고서로 활용 가능. 시스템 아키텍트나 네트워크 관리자는 복잡한 웹 아키텍처를 어떻게 설계, 배포, 관리할 것인지 배울 수 있다. 목차 HTTP: 웹의 기초 : HTTP 핵심 기술과 웹 기초 HTTP 개관 : HTTP에 대한 개략적인 내용 URL(Uniform Resource ..
IP 주소와 도메인 이름 사이에서 변환을 수행하는 시스템을 가리켜 DNS (Domain Name System) 이라고 하며, DNS의 중심에는 DNS 서버가 있다 - 윤성우 열혈 TCP/IP 소켓 프로그래밍 184P 125.209.222.141를 주소창에 입력해보자, 두려워하지 말라, 이상한 게 아니다. 넣으면 네이버가 나온다, 이는 네이버의 IP 주소이다. 자, 다시 정리해보자, 네이버 "도메인" 주소는 www.naver.com 이다. 네이버 네이버 메인에서 다양한 정보와 유용한 컨텐츠를 만나 보세요 www.naver.com 왜 이 주소가 아닌 숫자를 입력해도 네이버가 나오는 걸까, 이 두 접속 방법의 차이는 무엇일까? 정답은, 문자열로 되어 있는 이 주소는 가상의 주소이지, 실제 주소가 아니라는 점이..