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 |
Tags
- 15552
- 코딩테스트
- 11053
- 7568
- 11054
- 카카오 클라우드 스쿨
- node
- SpringTokenizer
- 알고리즘
- sequelize
- Spring #Java #Spring Boot #@BeforeEach #@AfterEach
- 파이썬
- Spring #Spring Boot #Java
- kakaocloudschool
- 9020
- Spring
- 2447
- 백준
- Java #코딩테스트
- 24479
- boj
- python
- kakaocloud
- Spring #Java #Spring Boot #싱글톤
- 카카오클라우드스쿨
- Java #오븐시계 #백준
- java
- Java #백준 #코딩테스트
- Spring #Java #Spring Boot
- 1110
Archives
- Today
- Total
YoungSoo
HTTP의 특징 본문
HTTP의 특징
- 클라이언트가 서버에 요청(Request)를 보내면 서버는 응답(Response)을 보내는 클라이언트 ↔ 서버 구조이다.
- HTTP의 특성이나 약점을 보완하기 위해 쿠키와 세션을 이용한다.
쿠키(Cookie)
- 클라이언트 로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일이다.
- 유효 시간을 정할 수 있고, 유효 시간이 종료되기 전까지 브라우저를 재실행해도 인증이 유지된다.
- 동작 방식
- 클라이언트에서 요청(Request)
- 서버에서 쿠키 생성
- HTTP Header에 쿠키를 포함해서 응답(Response)
- 클라이언트에서 쿠키 유효 시간까지 보관
- 유효 시간 전에 요청 시 HTTP Header에 쿠키를 같이 전송
세션(Session)
- 서버에서 사용자 정보를 관리한다.
- 접속 시간에 제한을 두어 일정 시간 응답이 없다면 정보가 유지되지 않도록 설정 가능.
- 동시 접속자 수가 많다면 서버에 과부하를 주어 성능 저하의 요인이 됩니다.
- 동작 방식
- 클라이언트에서 서버에 접속할 때 세션 ID를 발급
- 클라이언트는 세션 ID를 쿠키에 저장.
- 서버에 요청할 때 쿠키의 세션 ID를 같이 서버에 전달
- 서버는 세션 ID로 세션에 있는 클라이언트의 정보를 사용
- 클라이언트의 정보를 통해 서버 요청을 처리하고 클라이언트에게 응답
쿠키(Cookie)와 세션(Session)의 차이
- 사용자의 정보가 저장되는 위치가 다름.
- 쿠키는 서버의 자원을 전혀 사용하지 않고 세션은 서버의 자원을 사용.
- 쿠키는 브라우저에 종료 유무와 상관 없이 저장되지만 세션은 브라우저가 종료되면 삭제됨.
- 세션은 세션 ID만을 가지고 서버에서 처리하기 때문에 쿠키보다 보안성이 좋음.
- 쿠키에 정보가 담겨져 있어 서버에서 가져와야하는 세션과 다르게 빠름.
HTTP의 비연결성(Connectionless)
- 클라이언트가 서버에 요청을 하고 응답을 받으면 바로 TCP/IP 연결을 끊어 연결을 유지하지 않는 것이다.
- 서버의 자원을 효율적으로 관리하고 많은 요청에도 대응할 수 있다.
HTTP의 무상태성(Stateless)
- 서버가 클라이언트의 이전 상태를 유지하지 않는다는 특징
HTTP의 상태성(Stateful)
- 서버가 클라이언트의 이전 상태를 유지한다는 특징