iamabear09 / WIL

What I learned :: 공부 내용 정리 및 요약
0 stars 0 forks source link

HTTP #13

Open iamabear09 opened 8 months ago

iamabear09 commented 8 months ago

Post/Redirect/Get

문제 상황 Post 이후 결과 완료 화면을 바로 내려주면 안된다. Post는 멱등성이 없기 때문에 새로 고침을 하는 경우 다시 Post가 전송된다.

해결 Post 이후 응답으로 Redirect 를 응답으로 내려주면 Get 요청을 통해 결과 화면을 확인하도록 한다.

iamabear09 commented 8 months ago

HTTP 기반 프로토콜

TCP/IP


DNS



HTTP

Stateless 프로토콜


비 연결성(connectionless)

만약 비 연결성이 없다면..? 클라이언트와 연결을 계속 하고 있기 때문에 서버의 자원이 낭비된다.

한계



HTTP Header

Authorization

Set-Cookie

Cookie

iamabear09 commented 8 months ago

Cookie

📌왜 Cookie가 필요한가..?

HTTP는 Stateless 하다. 따라서 사용자가 인증하더라도 서버는 기억하지 못한다. 따라서, Cookie가 없으면 사용자가 요청 시 수동으로 필요한 인증 정보를 계속 전달해야 한다. 하지만 Cookie가 있으면 요청 전송 시 브라우저가 자동으로 쿠키를 함께 전송한다.



Cookie의 주의 사항

쿠키 정보는 항상 전송

사용자의 브라우저 쿠키 저장소에 보관



쿠키 설정 및 보안

Path

Secure

HttpOnly

iamabear09 commented 8 months ago

캐시

📌캐시는 왜 필요할까?

캐시가 없으면 네트워크 통신을 사용해 필요한 자원을 다운받아야 한다. 따라서 사용자에게 느린 응답이 발생한다.


캐시 사용

캐시 시간이 초과된 경우

다시 서버와 통신이 필요하다.

서버 응답 1) 다시 써도 됩니다! 2) 새로 응답 내려 드리죠!