728x90
HTTP 메시지
HTTP 요청 메시지 포맷
HTTP Request
- method: request 메시지를 서버로 보낼 때, 서버로 요청하는 request의 메소드(어떤 서비스를 서버에 요청하는가? ex. 웹 페이지를 업로드할 것인지, 삭제할 것인지 등등)
- URL: 웹 서버의 어떤 웹 객체를 요청할 것인지에 대한 주소
- version: HTTP Protocol의 버전
- header lines: 어떤 요청한 서비스를 서버가 어떻게 처리할 것인지 지시하는 부분
- body: 어떤 정보를 클라이언트에서 서버로 전달할 때, 그 정보를 담고 있다.
ASCII
Methods
- Get: body 정보없이 객체 요청(필요시 URL에 포함시켜 입력 정보 전달)
www.somesite.com/animalsearch?monkeys&banana
? 이전 -> url, ? 이후 -> 웹 브라우저가 웹 서버의 프로그램 객체에게 입력정보로 전달해야 할 정보를 포함 - Post: body 입력 정보와 함께 객체 요청(form field로 입력)
- Head: 헤더 정보만 요청
- PUT: 파일 업로드
- DELETE: 파일 삭제
HTTP Request example
- User-Agent -> 웹 브라우저의 종류와 버전을 나타냄
- Accept: 웹 브라우저가 수용할 수 있는 웹 객체의 포맷들
- Connection: 지속 연결인지, 비지속 연결인지
- keep-alive: 웹 객체를 다운로드하고 TCP 연결을 유지해라. -> persistent
- close: 웹 객체를 다운로드 후에 TCP 연결을 해제해라. -> non-persistent
※ 이 예시에서는 GET을 사용했기에 BODY 정보가 필요없다.
HTTP 응답 메시지 포맷
HTTP Response
HTTP Response example
- Date: 응답 메시지가 언제 만들어졌는지
- Server: 서버의 종류와 버전
- Last-Modified: 웹 객체가 언제 갱신되었는지
- Content-Length: Object의 길이가 어느 정도인지
- Content-Type: Object의 타입이 뭔지
HTTP Response example
웹 쿠키
쿠키 사용 시나리오
웹 쿠키 필요성
- 비상태형 HTTP에 상태형 서비스 구현
웹 쿠키 응용
- 쇼핑 카트 서비스
- 상품 추천 서비스
- 인증 및 인가 서비스
- 기타
프라이버시 문제
- 웹 서버에 개인 정보 노출
웹 캐시(Web Cache): Proxy Server
웹 캐시
- 원래의 웹 서버들을 대신하여 HTTP 요청 메시지를 처리하는 중간 서버
- 대상 웹 브라우저의 HTTP 요청 메시지를 웹 캐시로 방향 전환(redirect)
- 웹 캐시에 요청된 객체가 존재하면 웹 브라우저에 전송
- 웹 캐시에 요청된 객체가 존재하지 않으면 웹 캐시가 원래의 웹 서버에 요청 메시지를 보내 응답 메시지를 수신
- 웹 캐시가 웹 서버로부터 수신한 객체를 자신의 서버에 저장하고 웹 브라우저로 전송
- 주로 Enterprise ISP, Residential ISP에 사용
웹 캐시 사용의 장점
- 응답 지연시간 단축
- 네트워크 트래픽 감축
- 보안적으로 좋음
조건부 GET(Conditional GET)
- 요청 메시지 헤더에 지정된 시간 이후에 수정된 객체만 다운로드
- 객체가 웹 캐시에 저장된 이후에 원래의 웹 서버에서 갱신되었는지 확인 가능
- 웹 캐시에 저장된 객체의 최신화에 유용
728x90
'Computer Network' 카테고리의 다른 글
[컴퓨터 네트워크] DNS(Domain Name System) (0) | 2022.09.27 |
---|---|
[컴퓨터 네트워크] 이메일과 SMTP (0) | 2022.09.27 |
[컴퓨터 네트워크] 웹과 HTTP(1): 동작 원리와 지속 비지속 연결 (0) | 2022.09.25 |
[컴퓨터 네트워크] 응용 계층 원리(Principles of Application Layer) (0) | 2022.09.22 |
[컴퓨터 네트워크] 네트워크 사이버 공격(Network Attacks) (1) | 2022.09.21 |
댓글