Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 머신러닝
- 팀플회고
- 깃허브 로그인
- 모두를위한딥러닝
- 깃 터미널 연동
- 문자열
- 딥러닝
- 지네릭스
- 백준 4949번
- 깃 연동
- 모두의 네트워크
- 정리
- 백준 4358번
- 자바
- SQL
- 백준 4358 자바
- 백준
- 네트워크
- 리액트 네이티브 시작하기
- 스터디
- 모두를 위한 딥러닝
- 모두의네트워크
- 리액트 네이티브 프로젝트 생성
- 깃허브 토큰 인증
- 데이터베이스
- HTTP
- 백준 5525번
- React Native
- 리액트 네이티브
- 데베
Archives
- Today
- Total
솜이의 데브로그
9장 ) HTTP에 기능을 추가한 프로토콜 본문
Reference : 그림으로 배우는 Http&Network Basic
9장 ) HTTP에 기능을 추가한 프로토콜
HTTP의 병목 현상을 해소하는 SPDY
- 갱신된 정보를 가능한 빨리 실시간으로 표시하기 위해서는 서버상의 정보가 갱신되었을 때, 그것을 클라이언트의 화면에 반영해야한다.
- 현재 웹에 요구되고 있는 사용 방법으로는 다음 병목 현상들이 된다.
- 1개의 커넥션으로 1개의 리퀘스트만 보낼 수 있다.
- 리퀘스트는 클라이언트에서만 시작할 수 있다. 리스폰스만 받는 것은 불가능
- 리퀘스트/리스폰스 헤더를 압축하지 않은 채로 보낸다. 헤더의 정보가 많을수록 지연이 심해진다.
- 장황한 헤더를 보낸다. 매번 같은 헤더를 보내는 것은 낭비
- 데이터 압축을 임의로 선택할 수 있다.
해결방법
-Ajax
- JavaScript나 DOM 조작을 활용
- 웹 페이지의 일부분만 고쳐 쓸 수 있는 비동기 통신 방법
- XMLHttpRequest로 JavaScript 등의 스크립트 언어로 서버와 HTTP 통신
- 실시간으로 서버에서 정보를 취득하려고 하면 대량의 리퀘스트가 발생한다는 문제가 있다.
-Comet
- 서버측의 갱신이 있을 경우, 클라이언트로부터 리퀘스트를 기다리지 않고 클라이언트에게 보내기 위한 방법.
- 리퀘스트가 오면 리스폰스를 보류 상태로 해두고, 서버의 콘텐츠가 갱신되었을 때에 리스폰스를 반환
- 콘텐츠를 실시간으로 갱신할 수 있지만, 리스폰스를 보류하기 위해 커넥션을 유지하는 시간이 길어진다.
spdy 설계와 기능
- 보안을 위해 표준으로 SSL사용
- TCP/IP의 애플리케이션 계층과 트랜스포트 계층 사이에 새로운 세션 계층을 추가하는 형태로 동작.
SPDY를 사용해 추가할 수 있는 기능
- 다중화 스트림 : 단일 TCP 접속을 통해 복수의 HTTP 리퀘스트를 무제한으로 처리
- 리퀘스트의 우선 순위 부여 : 리퀘스트를 병렬처리하며 각 우선순위 할당
- HTTP 헤더 압축 : 리퀘스트와 리스폰스의 HTTP 헤더를 압축
- 서버 푸시 : 서버에서 클라이언트로 데이터를 푸쉬하는 서버 푸시 기능을 지원
- 서버 힌트 : 서버가 클라이언트에게 리퀘스트 해야 할 리소스를 제안
브라우저에서 양방향 통신을 하는 WebSocket
- WebSocket은 웹 서버와 클라이언트가 한번 접속을 확립하면 그 뒤의 통신을 모두 전용 프로토콜로 하는 방식이다.
- 서버 푸시 기능 : 서버에서 클라이언트에 데이터를 푸시
- 통신량 삭감 : 접속을 한번 확립하면 유지하려고 한다.
- 핸드쉐이크/리퀘스트 : HTTP의 Upgrade 헤더 필드를 사용해 프로토콜을 변경.
- 핸드쉐이크/리스폰스 : 위의 리퀘스트에 대한 리스폰스를 상태코드 [101 Switching Protocols]로 반환.
HTTP/2.0 의 특징
- SPDY
- HTTP Speed+Mobility
- Network-Friendly HTTP Upgrade
웹 서버 상의 파일을 관리하는 WebDAV
- 웹 서버의 콘텐츠에 대해 직접 파일 복사나 편집 작업 등을 할 수 있는 분산 파일 시스템.
- 파일 작성이나 삭제 등 기본적인 기능 이외에 파일 작성자 등의 관리나 편집 중에 다른 유저가 다시 고쳐 쓰지 못하도록 잠금 기능, 갱신 정보를 관리하는 기능 등이 있다.
- 컬렉션(Collection) : 여러개의 리소스를 한꺼번에 관리하기 위한 개념
- 자원(Resource) : 파일이나 컬렉션을 리소스라고 한다.
- 프로퍼티(Property) : 리소스의 프로퍼티를 정의.
- 잠금(Lock) : 파일을 편집할 수 없는 상태로 한다.
'CS > Network' 카테고리의 다른 글
11장 ) 웹 공격 기술, 취약성 (1) (0) | 2021.12.19 |
---|---|
10장 ) 웹 콘텐츠에서 사용하는 기술 (0) | 2021.12.05 |
8장 ) 액세스 인증 (0) | 2021.11.09 |
7장 ) 웹을 안전하게 하는 HTTPS (0) | 2021.11.01 |
9장 ) 무선 랜 통신 (0) | 2021.11.01 |