반응형
HTTP란?
- HyperText Transfer Protocol의 약자.
- HyperText를 전송하기 위한 통신 규칙 체계
- 클라이언트-서버 프로토콜.
- Stateless하다. Session이 있다.
Request 요청 & Response 응답
- Request: 클라이언트가 서버로 데이터 및 액션을 받기 위해 전달.
- HTTP 메소드를 사용하여 서버의 액션을 지정해줌.
- GET: 주로 읽거나, 검색할 때 사용.
- POST: 주로 새로운 리소스를 생성할 때 사용.
- Multi-part Request: 하나의 body에 하나 혹은 그 이상의 데이터 셋을 합쳐놓은 것. 보통 파일 업로드나 여러 타입의 데이터 통신 요청들을 할 때 사용됨.
- HTTP 메소드를 사용하여 서버의 액션을 지정해줌.
- Response: 서버가 클라이언트로부터 받았던 요청에 대한 결과값.
- Header: Response 헤더, General 헤더, Entity 헤더 3가지로 구성되어 있다.
- Response 헤더: 상태 줄에 미처 들어가지 못했던 서버에 대한 추가 정보를 제공한다.
- Access-Control-Allow-Origin: 요청 Host와 응답 Host가 다르면 CORS 에러가 발생하는데 서버에서 응답 메시지 Access-Control-Allow-Origin 헤더에 프론트 주소를 적어주면 에러가 발생하지 않는다.
- Set-Cookie: 서버 측에서 클라이언트에게 세션 쿠키 정보를 설정할 때 사용하는 항목
- General 헤더: 메시지 전체에 적용되는 헤더이다.
- Server: 웹 서버 (소프트웨어) 정보
- Via: 요청헤더와 응답헤더에 포워드 프록시와 리버스 프록시에 의해서 추가된다. 포워드 메시지를 추적하거나, 요청 루프 방지, 요청과 응답 체인에 따라 송신자의 프로토콜 정보를 식별함.
- Entity 헤더: 요청 본문에 적용되는 헤더이다. 요청 내에 본문이 없는 경우에는 당연히 전송되지 않는다.
- Content-Encoding: 응답 콘텐츠 압축하는 방식, br, gzip, deflate 등의 알고리즘으로 압축해서 보내면, 브라우저가 알아서 해제해서 사용함, 요청이나 응답 전송 속도도 빨라지고, 데이터 소모량도 줄어들기 때문에 사용함
- Content-Type: 콘텐츠의 미디어 타입(MIME Type). 반환된 콘텐츠 타입이 실제로 무엇인지 클라이언트에게 알려줌.
- Date: 현재 날짜
- Last-Modified: 요청한 파일의 최종 수정일
- Response 헤더: 상태 줄에 미처 들어가지 못했던 서버에 대한 추가 정보를 제공한다.
- Header: Response 헤더, General 헤더, Entity 헤더 3가지로 구성되어 있다.
쿠키 Cookie
- HTTP 쿠키(웹 쿠키, 브라우저 쿠키)는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각입니다.
- 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재 요청 시 저장된 데이터를 함께 전송합니다.
- 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용합니다.
- 이를 이용하면 사용자의 로그인 상태를 유지할 수 있습니다. 상태가 없는(stateless) HTTP 프로토콜에서 상태 정보를 기억시켜주기 때문입니다.
- 쿠키의 사용목적
- 세션 관리(Session management) - 서버에 저장해야 할 로그인, 장바구니, 게임 스코어 등의 정보 관리
- 개인화(Personalization) - 사용자 선호, 테마 등의 세팅
- 트래킹(Tracking) - 사용자 행동을 기록하고 분석하는 용도
참고자료
반응형
'기본 프로그래밍 지식' 카테고리의 다른 글
[기본 지식] 4. 의존성 주입(DI, Dependency Injection) (0) | 2023.09.22 |
---|---|
[기본 지식] 3. 디자인 패턴 - 싱글톤 패턴(Singleton Pattern) (0) | 2023.09.21 |
[기본 지식] 퀴즈 1 - 프로그래밍 기초, 인코딩, Java (0) | 2023.08.03 |
[기본 지식] 1. 프로토콜 Protocol (0) | 2023.08.02 |