본문 바로가기

CS/컴퓨터 네트워크

7. Web, HTTP

* http

웹 페이지를 보내는 것

웹페이지의 object들 (텍스트, 오디오, 이미지 등)을 보냄

url : 호스트 ip와 폴더 이름, 파일 이름 모두 합쳐진 것 

 

http는 링크가 있는 걸 주고받는 프로토콜

- 클라이언트 : 크롬, 익스플로러, 사파리 등에서 데이터를 요구하고 받아서 보여지는 형식

- 서버 : 웹서버 http 프로토콜로 요구하는 페이지를 클라이언트에게 전달하면서 동작

 

- http는 tcp를 사용, 80이나 8080을 사용

- stateless : 상태에 상관없이 클라이언트가 요구하는 페이지를 전달, 어떤 상황이든지 똑같은 페이지를 보여줌

 

* tcp

연결 지향형

- non persistent : object 마다 connection이 있음

   rtt : 한번 갔다가 돌아오는데 걸리는 시간

   tcp 연결 한 후 한번의 rtt가 생기고, 이렇게 통신을 하면 매번 rtt + 그 회선의 속도 만큼을 필요로 함

- persistent : 한번 연결하고 그대로 연결을 유지

   요구가 오면 그냥 통신이 가능해서 추가적 비용 지불이 없음

 

*쿠키

웹브라우저 히스토리를 이용해서 다음 브라우징이 더 편리해지는 것

- 구성요소 : http응답, 다음 요구에 대한 정보, 사용자 관련 정보, 데이터 베이스 정보

stateless를 stateful하게 해서 더 편리하게 이용할 수 있게 하지만

프라이버시 침해가 될 수 있음

 

* 웹 캐싱

중간의  프록시서버가 원하는 정보를 캐싱하는 것

원하는 페이지를 요구해서 도달하는데 2초 걸리고, 다음 클라이언트가 또 요구하게되면 2초가 다시 걸리게 되는데

프록시 서버가 캐싱을 해놔서 2초 걸릴 거를 0.5초 이하로 걸리게 하는 것

효율적으로 시간 단축 가능