티스토리 뷰
# 프로토콜
## 프로토콜이란?
컴퓨터 내부에서 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체제.
기기 간 통신은 교환되는 데이터의 형식에 대해 상호 합의를 요구한다.
이러한 형식을 정의하는 규칙들의 집합을 프로토콜이라고 한다.
## HTTP 프로토콜이란?
HTTP 프로토콜이란, 웹에서 브라우저와 서버간에 데이터를 주고받기 위한 방식을 의미한다.
## HTTP 요청과 응답
client-sever 관계에서 request와 response가 이루어지는 것처럼 HTTP 요청과 응답도 동일하다.
여기서 client는 브라우저, server는 WAS(JSP, PHP ...)
## HTTP Request Message 구조
- Start line(Request Line): HTTP Request의 첫 라인
- HTTP Method: GET, POST 등과 같은 action
- Request Target: request가 전송되는 URL (endpoint)
- HTTP Version
- 예) GET / doc/test/html HTTP/1.1
- Headers: Request에 대한 meta 정보를 담고 있으며, key-value 값으로 되어 있다.
- Host
- User-Agent
- Accept
- Connection
- Content-Type
- Content-Length
- Empty Line
- Body
## HTTP Response Message 구조
request message 구조와 비슷
# 세션 session
## Session이란?
세션이란 일정 시간동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술.
일정 시간이란 방문자가 웹 브라우저를 통해 웹 서버에 접속한 시점으로부터 웹 브라우저를 종료함으로써 연결을 끝내는 시점.
💡 즉, 방문자가 웹 서버에 접속해 있는 상태를 하나의 단위로 보고 세션이라고 칭한다.
## Session vs Cookie
### Cookie
쿠키는 특정 웹 사이트를 방문했을 때 만들어지는 정보를 담는 파일 (상태정보 유지 기술)
### Session
세션은 쿠키와 달리 사용자들의 로그인 정보에 대한 보안을 한층 업그레이드 할 수 있어 웹 사이트에 방문하여 계속 접속을 유지할 때 이전의 접속 정보를 이용할 수 있는 방법으로 많이 사용된다.
💡 쿠키의 경우 방문자의 정보를 방문자 컴퓨터의 메모리에 저장.
💡 세션은 방문자의 요청에 따른 정보를 웹 서버가 세션 아이디 파일을 만들어 서버에 저장.
## Session의 과정
- 클라이언트가 웹 서버에 접근하여 페이지 요청.
- 서버는 접근한 클라이언트의 쿠키를 확인 후 해당 session-id를 보냈는지 확인.
- session-id가 없을 시 session-id를 생성하여 클라이언트에게 돌려준다.
댓글