일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- Crawling
- 타입 챌린지
- 그래프
- 프로그래머스 레벨 2
- Nestjs
- 쉬운 문제
- javascript
- 수학
- 레벨 1
- BFS
- 문자열
- Algorithm
- 자바스크립트
- dfs
- HTTP
- typescript
- socket
- HTTP 완벽 가이드
- 프로그래머스
- type challenge
- TCP
- 소켓
- 타입스크립트
- 크롤링
- dp
- Node.js
- 가천대
- 백준
- ip
- Today
- Total
목록HTTP 완벽 가이드 (6)
kakasoo
예를 들어 우리 사이트의 주 고객이 영어 사용자와 프랑스어 사용자 양측이 존재한다면, 우리는 사용자에 맞게 콘텐츠를 제공해줘야 한다. HTTP는 이런 판단이 가능하게 내용협상이란 방법을 제공한다. 이 방법은 하나의 URL이 여러 가지 리소스 중 적합한 것을 제공하도록 할 수 있다. 여기서는 서로 다른 버전을 배리언트( Variant ) 라고 부른다. 17.1 내용 협상 기법 서버가 클라이언트에게 맞는 리소스인지 판단하는 세 가지 방법이 있다. 다음 단에서 클라이언트 주도 기법과 서버 주도 기법에 대해 자세히 설명하고, 여기에는 투명 하나를 간략히 설명한다. 투명 주로 프락시 캐시와 같이 투명한 중간 장치를 거쳐 대신 협상한다. 속도는 위 두 가지의 중간 쯤 되지만, 투명 협상의 경우 어떻게 하는지에 대한..
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가지 주요 엔터..
12.1 인증 인증은 당신이 누구인지 증명하는 것이다. 완벽한 인증은 없다. 다만 인증을 통해 당신이 누군지 판단하는 도움은 될 수 있다. 12.1.1 HTTP의 인증요구/응답 프레임워크 HTTP는 사용자 인증을 하는 데 사용하는 자체 인증요구/응답 프레임워크를 제공한다. 순서는 요청, 인증요구, 인가, 성공의 단계로 이루어진다. 맨 처음 요청은, 클라이언트가 서버 측에 정보를 요청한다는 의미이다. 이 때에는 아무런 헤더도 필요없고, 그저 GET 메서드를 했다는 의미이다. 다음부터가 인증 요구이다. 인증 요구는 서버가 사용자에게 사용자 이름과 비밀번호를 제공하라는 지시다. 이 때, 401 Unauthorized 상태 정보와 함께 요청을 반려한다. 이 때 WWW-Authenticate 헤더에 각 영역에 대..
HTTP 명세에는 HTTP 메시지에 대해서 자세히 설명하고 있지만 HTTP 커넥션에 대해서는 설명하고 있지 않다. 하지만 HTTP 애플리케이션을 만드려면 HTTP 커넥션 역시 잘 알고 있어야 한다. 이 장에서는 아래와 같은 내용을 배운다, HTTP는 어떻게 TCP 커넥션을 사용하는가. TCP 커넥션의 지연, 병목, 막힘 병렬 커넥션, keep0alive 커넥션, 커넥션 파이프라인을 활용한 HTTP의 최적화 커넥션 관리를 위해 따라야 할 규칙들 별도 정리 및 의문점 이번에는 이 단락을 활용하여, 밑의 내용을 공부해본 사람들에게 질문을 던지도록 하겠다. 패킷이란 무엇인가? HTTP의 네트워크 프로토콜 스택과 HTTPS의 네트워크 프로토콜 스택을 구분하여 설명하고, 그 차이를 말하라. 4.1 TCP 커넥션 H..
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 응답 메시지는 상태 코드를 가진다. 상태 코드는 클라이언트에게 요청에 대한 결과를 알려주는 세 자리 숫자이다. 웹 페이지는 여러 객체로 이루어질 수도 있다 웹 브라우저는 ‘시각적으로 풍부한’ 웹 페이지..