-
이석복 네트워크 HTTP, Cookies, Web cachesNetwork/Network 2022. 9. 2. 05:22
===
2015 강의엔 App layer 내용이 짤려서(HTTP proxy, DNS) 다른 년도 강의 뒤지다가
2014년 2학기 강의 슥보니 있는 것 같아서 거기 보고 정리
===
2014년 2학기 2강,
http://www.kocw.net/home/cview.do?lid=c887da3700121b21
컴퓨터네트워크
인터넷에서 데이터는 어떠한 방법으로 목적지까지 전달되는가?’ <br/><br/>본 강의에서는 인터넷의 동작 원리와 그 내부의 다양한 프로토콜들을 학습한다. 응용계층으로부터 링크계층까지 Top-dow
www.kocw.net
pdf는 3강 것
파이어폭스 창 분리로 본다
52분 10초부터 2015년 2학기에 없는 내용들
---
*포트넘버 고정 : 그래야 찾아가지
---
request의 header message, 보내려는 실제 메세지를 위한 부가정보, 편지봉투의 주소 같은
첫줄이 중요, GET /index.html : 네가 갖고 있는 index.html을 보내줘
User-Agent : 내 웹브라우저가 뭔지, 잘 만들어진 서버는 유저의 브라우저에 따라서 커스터마이징해서 보내준다
---
대학생이 헤더를 마음속 깊이 이해해야할 프로토콜은 TCP랑 IP뿐. HTTP는 그런애는 아냐
이런건 부담 없이 넘어가
---
이것도 첫줄이 제일 중요, HTTP 현재 버전. 무조건 1.1이다, 200 성공적으로 보내줬다
---
다른 코드들도 있어
404 Not Found : 네가 요청한 웹페이지가 현재 웹서버에 없어
---
Cookies
HTTP는 stateless
그럼 로그인은 어떻게 해?
기본적은 몰라야 하는데 알 필요가 있을 경우 존재한다
쿠키라는 트릭이 있다
아마존 접속할 때, 제일 먼저 하는 일이 쿠키 찾아보기. 없어? 그냥 보통 http request보내
아마존은 아무것도 안적혀 있기 때문에 얘는 나랑 관계가 없구나 한다. 그리고 내부적으로 1678이란 ID를 Internal하게 만들고 DB에 저장한다
그리고 response보낼 때 헤더에 필드를 추가해서 set cookie: 1678. 너 이제부터 우리한테 올 때 1678을 사용해라 알려줌
일주일 후 이제 request에 쿠키 같이가
어 또왔어?하면서 맞춤해줘
---
web proxy, web cache
http protocol의 필수 component는 아니지만 워낙 유용하기 때문에 만연하게 쓰이고 있다
클라이언트가 직접적으로 서버와 통신하는게 아니라 proxy server와 먼저 교신한다
한양대학교면 밖으로 나가려면 한양대학교 proxy를 거쳐야해
내가 구글 서버의 웹페이지를 요청하면 나는 proxy한테, 그럼 proxy가 알아서 내 요청을 대신가서 가져옴
그리고 내가 요청한 파일, 웹페이지는 proxy에 저장돼
그리고 한양대학교의 다른 학생이 같은 페이지를 요청했을 때 굳이 구글까지 가지 않고 바로준다!
---
장점 : 태평양 안건너가니까 빠르다 -> 사용자한테 좋다
원래서버의 부하가 적어진다 -> 서버가 좋다
한양대학교는 돈을 덜 내. 나갈때마다 돈 내야돼. 인터넷 공짜로 하는거 아니야 피라미드 구조야 -> 한양대학교가 좋다
ISP는 피라미드 구조다
SKT는 더 큰 통신사한테 돈 낸다
한양대학교가 KT와 연결돼 있으면, 트래픽이 밖으로 나갈때마다 돈낸다
---
구체적인 예
내부 트래픽 15Mbps
라우터 A에서 서버까지 갔다 오는 시간 2초
링크 밴드위쓰 15.4Mbps
기숙사 내부 밴드위쓰 100Mpbs
내부는 문제가 없지만 15를 15.4로 감당하니까 엄청 느려져
제일 단순무식한건 15.4를 확장시키는 것
---
10배 늘림.
속도는 해결됨
근데 학교는 공사해서 찝찝해
---
그러지 말고 우리 웹프록시 배웠으니까 넣어보자
여러분 가는 사이트 뻔해서 50개 안에서 논다
hit rate 원래 80% 육박한다. 40%는 여유있게 잡은거야
40%는 밖으로 안나가. 내부에서 해결돼서 딜레이가 없어
이제 60%만 나가니까 딜레이가 없어짐. 2쩜몇초걸려이제
해결!
---
장점만 있나?
캐시잖아
구글 바뀌어도 캐시는 안바뀌어 믿을 수 없어
---
그래서 conditional GET이라는 트릭을 사용한다
HTTP request를 보낼 때 특수한 필드를 사용한다
If-modified-since 특정날짜
내가 어떤 웹페이지 copy를 갖고 있는데 그게 수정된지 알고 싶어
필드를 같이 포함해서 파일을 리퀘스트해
그날이후로 변경이 안됐으면
Not Modified라는 response와 함께 실제 파일이 오지 않아
바뀌었을 경우에만 파일이 와
갖고 있는 파일이 4GB짜리 영화파일이라고 하면 그만큼 문제 해결
proxy가 Conditional GET이라는걸 쓰는것이다
'Network > Network' 카테고리의 다른 글
이석복 네트워크 DNS (0) 2022.11.10 이석복 네트워크 (23)SSL, https, firewall (0) 2022.08.10 이석복 네트워크 (22)network security, public key (0) 2022.08.09 이석복 네트워크 (17)데이터보내기과정2, 스위치, 허브&스위치, 가정용공유기 (0) 2022.08.08 이석복 네트워크 (16)Subnet&LAN, Ethernet, frame, CD, MAC address, 데이터보내기과정1+ARP (0) 2022.08.07