kjh00n의 기록저장소
HTTP, Proxy 본문
HTTP 특징
1. Connectionless
● Server에 많은 Client가 연결되어있으면 자원을 계속 소비하여 다른 Client가 접속을 못할 수도 있다.
● 데이터를 주고받은 후 연결을 바로 끊는다.
● 더 많은 Client에게 서비스를 제공해주기 위한 기능
[해결]
파이프 라이닝 (Pipelining)
● Client가 Server에게 HTTP Request를 할 때 계속 연결을 유지하고 싶다고 Keep-alive를 넣는다.
● Client가 마지막 요청을 보낼 때는 Close를 넣어서 이후에는 연결을 끊겠다고 HTTP Request를 전송한다.
2. Stateless
● 동일한 Client의 이전 상태정보를 유지하지 못한다.
[해결]
Session ID (쿠키)
● Server가 HTTP Response를 보내면서 Session ID도 만들어서 Client에게 전송한다.
● 로그인하고 로그아웃하거나 유효시간이 지나면 Session ID는 없어진다.
● 그 후에 연결이 끊겨도 Client가 Session ID를 Server에게 보내줘서 인식한다.
Server는 Client가 첫 번째로 요청을 보낼 때, 세션을 생성하고 Session ID를 쿠키에 담아 Client에게 응답으로 보냅니다. Client는 이후의 요청에서 이 Session ID를 쿠키를 통해 Server에 자동으로 전송하고, Server는 이를 통해 Client를 식별하고 이전 상태를 복원할 수 있습니다. 이 방식으로 Server는 연결이 끊어져도 Client를 구별하고, 상태를 유지할 수 있습니다. |
가상호스트
● 가상 호스트는 하나의 Server에서 여러 웹사이트를 운영할 수 있도록 해주는 기술로, 각기 다른 도메인 이름을 사용해 여러 웹사이트를 구분하여 서비스할 수 있게 해준다.
HTTP Header
● Start Line에서 Request일 때는 Request Line, Response일 때는 Status Line이라고 한다.
HTTP Request
● 메소드 : 요청의 종류를 알려주는 값
● 자원 주소(URI) : 어떤 자원 요청하는지 위치
● 버전 : 해당 요청의 HTTP 버전
● CRLF : 개행문자 [ \r = CR, \n = LF ]
메소드의 종류 ↓ (반드시 대문자로 지정할 것)
HTTP Response
● 버전 : HTTP 버전 정보
● 코드 : 응답의 종류를 숫자로 표현한 코드
● 상태정보 : 해당 응답 코드의 정보
● CRLF : 개행문자 [ \r = CR, \n = LF ]
코드의 종류 ↓
Request Message Header 종류 ↓
Cookie | Server에 Client의 Cookie 정보를 전송할 때 사용 HTTP 표준에는 포함되어 있지 않음 |
Host | Web Server의 URL |
Referer | 현재 Request를 발생한 URL |
Response Message Header 종류 ↓
Location | Redirection시킬 주소 |
Server | Web Server의 정보 |
Set-Cookie | Server에서 Client에게 전달해 줄 Cookie 정보 |
Proxy
● 중계 서버
※Client와 Server의 거리가 멀리 있을 때 사용
● Client는 Proxy에게 물어보고 Proxy는 Server에게 물어본다.
● Server는 Proxy에게 응답하고 Proxy는 Client에게 응답해준다.
종류
● Client Proxy
→ 클라이언트(사용자)가 서버와 통신할 때, 클라이언트의 요청을 대신하는 프록시 서버.
● Server Proxy
→ 서버가 다른 서버와 통신할 때, 서버의 요청을 대신하는 프록시 서버.
● Proxy Chain
= Client → Proxy → Proxy → Proxy → Server
Proxy Chain은 여러 개의 프록시 서버를 연결하여 요청을 처리하는 방식이다.
이를 통해 익명성을 높이거나 보안을 강화할 수 있지만, 여러 번의 서버를 거쳐야 하므로 속도 저하가 있을 수 있다.
'SW개발 보안 구축' 카테고리의 다른 글
SSL 서버 구축 (0) | 2024.11.14 |
---|---|
SSL (0) | 2024.11.14 |
HTTP, WAS 구축 (0) | 2024.11.13 |
WEB 구성 요소 (0) | 2024.11.13 |
WEB (0) | 2024.11.13 |