HTTP
- 세션 계층에서 사용하는 프로토콜이다.
- HTML을 기존 프레젠테이션 계층으로 사용
- 목적 : 전 세계 인터넷에 있는 정보를 탐색
- 발명 : Time Bearers Lee가 1980년대 말에 개발
동작
- GET - WEB에서 정보를 가져온다
- POST - web에다가 자료를 포스팅한다.

URL(universal resource locator)

예시 ) http://naver.com/news
-
scheme : 프로토콜 이름
-
subdomain : 주로 웹사이트의 컨텐츠 카테고리를 의미한다.
-
second-level domain : 웹 사이트의 이름
-
top-level domain : 조직이 인터넷에 등록하는 엔터티 유형 ex) com은 미국내 기업들에게 제공하는 도메인이다.
-
subdirectory : 웹사이트의 하위 폴더
HTTP 연결 과정

- HTTP는 상태가 없는 프로토콜이다.
- 상태가 없기 때문에 연결을 할 때 필요로 하는 모든 자원을 보내야 한다.
Get 요청

- 원하는 자원을 가져오는 목적
- GET /서버상의 자원위치 HTTP/1.0 버전 형식으로 이루어져있다.
- user-agent : 브라우저를 구분하는 매개변수이다.
- 자원을 요청할때 호스트와 같이 추가 정보들을 헤더에 담아서 보낸다.

- 요청 응답에는 상태코드 등을 담아서 보낸다.
- Content length 에는 메시지 바디의 데이터 크기를 나타낸다.
Cookie
-
HTTP 쿠키(웹 쿠키, 브라우저 쿠키)는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각
-
동일한 서버에 재 요청 시 저장된 데이터를 함께 전송합니다. 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용합니다.
쿠키 프로토콜
- HTTP response 헤더에 see-cookie라는 필드
- Request에는 cookie라는 필드가 존재한다.

세션
- 클라이언트에게 세션Id 정보만 클라이언트에게 쿠키만 전달하고, 세션의 특성은 서버가 관리.
HTTP 성능 개선

-
기본 TCP 통신은 매 생성주기마다 생성 시간이 오래걸린다.
-
Persistence HTTP 통신은 전체 요청이 올때까지 기다렸다가 종료를한다.
-
Pipeline 통신은 요청의 응답을 기다리지 않고 요청을 보내고 응답을 보내서 성능이 개선이 된다.
성능에서의 지표
지연시간 : 패킷으 보내기 사작한 시점에서부터 패킷을 받기 시작한 시점까지 걸리는 지연시간
전송률 : 단위 시간당 전송되는 데이터의 양