http 6

캐시

캐시의 등장 배경은 같은 데이터를 요청 할때에 전에 받았던 것임에도 불구하고 다시 요청을 하면 수정사항이 없음에도 새로 다시 보내주어야 한다는 단점에서 나왔다. 캐시의 작동 방법은 첫번째 요청에는 서버에서 값을 주고, 이때에 캐시에도 저장을 합니다. 그리고 캐시 유효기간안에 클라이언트가 다시 요청을 한다면 캐시에서 정보를 꺼내어 주는 방식이다. 이때 캐시 유효 시간이 초과한다면 다시 서버에서 데이터를 보내 주면서 캐시의 시간을 갱신한다. 그런데 위의 방법을 더 효율적으로 사용할 수 없을까 고민하여 고안 된것이 검증 헤더이다. 이 검증헤더는 데이터가 바뀌었는지를 검증하여 바뀌지 않았다면 캐시의 유효시간이 지났어도 캐시의 데이터를 꺼내어 사용한다. 이 일련의 과정을 검증 헤더와 조건부 요청이라고 한다. 검증..

http 2022.03.27

쿠키

쿠키는 서버와 클라이언트가 무상태 프로토콜이기 때문에 발샹하는 문제를 해결하는 방법이다. 여기서 말하는 문제점이란 로그인시에 로그인 상태를 계속해서 유지해야 하는데 무상태이기 때문에 계속 요청을 할때에 로그인 정보를 계속해서 보내주어야한다. 이렇게 계속 로그인시 부터 사용자 정보를 보내주면 브라우저를 종료 시키고 다시 키면 로그인 상태를 유지 할 수 없게 된다. 이를 위해 등장 한 것이 쿠키인데, 첫 로그인 시에 쿠키에 로그인 정보를 저장 한 후에 쿠키의 생명 주기 동안에는 계속해서 쿠키의 정보를 꺼내서 보내주면서 로그인 상태를 유지한다.

http 2022.03.27

http 상태코드

1XX : 요청이 수신되어 처리중 2XX : 요청 정상 처리 3XX : 요청을 완료하면 추가행동이 필요 (리다이렉션) 4XX : 클라이언트 오류 5XX : 서버 오류 리다이렉션이란 응답결과에 location 헤더가 있다면 location의 위치로 이동시키는 것이다. 위는 리다이렉션의 흐름이다. 301, 308 : 영구 리다이랙션 , 원래의 url을 용하지 않고 리소스, 응답에 포함된 uri를 활용한다. 301은 get으로 무조건 반환한다. 308은 post 로 오면 post 로 반환한다. 이때에 메세지도 유지 된다. 302, 303, 307은 일시적인 리다이렉션이다. 일시적인 리다이렉션이란 리소스의 uri가 일시적으로만 변경되는 것이다. 이를 사용할 때에는 사용자가 주문을 하고 새로고침을 요청한다면 영구..

http 2022.03.27

http 메세지

http 메세지는 두 가지가 있다. 요청 메세지, 응답 메세지가 있다. 요청 메세지는 클라이언트가 서버에 요청하는 메세지, 응답메세지는 서버가 클라에게 응답해주는 메세지이다. 이런 http는 시작라인, 헤더, empty-line, message-body 로 구성되어있다. 시작 라인 : 요청 메세지의 시작라인에는 http 메서드가 포함 되어있다. 그리고 경로와 쿼리가 들어간다. 응답 메세지의 시작라인에는 http 상태코드가 포함된다. http 헤더 : 헤더에는 여러가지 바디를 뜻하는, 또 http 전송에 필요한 여러가지 데이터가 포함되어있다. empty-line : 이는 헤더와 바디 사이의 빈 공간이다. 바디 : 바디는 요청한 값들을 보내주는 곳이다. http method: 메서드에는 get, post, ..

http 2022.03.27

http 클라이언트와 서버의 통신

http = hyper text transfer protocol 이다. 클라이언트와 서버는 무상태 프로토콜이다. 무상태 프로토콜이란 서버가 클라이언트의 상태를 보존할 필요가 없다는 것이다. 이때의 장점은 서버의 확장성이 높아서 요구하는 클라이언트가 많아졌을 때에 서버를 확장할 수 있다. 또한, 무상태 일때의 장점은 서버와 클라이언트가 연결 되어있을 때에는 중간에 서버에 문제가 생기면 연결이 끊어져 버린다. 하지만 무상태 라면 끊어져도 다른 서버 또 다른 서버에 계속해서 연결 하기 때문에 이런 문제를 겪지 않을 수 있다. 따라서 무상태 프로토콜을 많이 사용하는데 이때에는 중계서버를 하나 두고 서버군에 접근하게 된다. 이런 무상태 프로토콜에도 한계가 존재하는데, 로그인이 필요할 때에는 로그인 상태를 유지 해..

http 2022.03.26

http

컴퓨터는 통신을 어떻게 할까? 컴퓨터는 통신을 할 때에 클라이언트(고객)과 서버로 나뉜다. 통신은 클라이언트에서 신호를 보내면 복잡한 망을 거쳐서 최종 서버에 도달하게된다. 이때 잘 찾아갈 수 있도록 컴퓨터에 주소를 부여하는데 이를 ip주소 라고 한다. 그리고 ip 주소를 활용하여 정보를 전달할 때에 패킷이라는 통신 단위로 데이터를 전달한다. 이 ip 패킷에는 출발지ip, 도착지 ip 등이 포함되어 있다. ip프로토콜은 이론 패킷의 정보를 바탕으로 데이터를 전달한다. 이 ip 프로토콜에는 한계가 존재하는데, 1. 비연결성 (대상이 존재하던 하지 않던 일단 전송한다) 2. 비신뢰성 (패킷이 순서대로 오지 않거나 중간에 소실될 수 도 있다) : 여러 노드를 거치기 때문에 3. 프로그램 구분 불가이다 (같은 ..

http 2022.03.26