본문 바로가기

HTTP7

캐시와 검증 헤더 캐시자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소로 저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공캐시가 없는 경우데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 함인터넷 네트워크는 매우 느리고 비쌈브라우저 로딩 속도가 느림느린 사용자 경험을 줌캐시가 있는 경우캐시 가능 시간동안 네트워크를 사용하지 않아도 됨비싼 네트워크 사용량을 줄일 수 있음브라우저 로딩 속도가 매우 빠름빠른 사용자 경험을 줌캐시 시간 초과cache-control: max-age=캐시 유효 시간(초) 로 표현캐시 유효 시간이 초과하면 서버를 통해 데이터를 다시 조회하고 캐시를 갱신다시 네트워크 다운로드 발생캐시 유효 시간 초과캐시 유효 시간이 초과 후 서버에 다시 요청 시 다음 2가지 상황이 나.. 2024. 2. 21.
상태코드 HTTP 상태 코드클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능1xx(Information) : 요청이 수신되어 처리중2xx(Successful) : 요청 정상 처리3xx(Redirection) : 요청을 완료하려면 추가 행동이 필요4xx(Client Error) : 클라이언트 오류(잘못된 문법 등)로 서버가 요청을 수행할 수 없음5xx(Server Error) : 서버 오류로 서버가 정상 요청을 처리하지 못함1xx(Information)요청이 수신되어 처리중, 실무에서 거의 사용X2xx(Successful)클라이언트의 요청을 성공적으로 처리200 OK : 요청 성공201 Create : 요청 성공해서 새로운 리소스가 생성됨202 Accepted : 요청이 접수되었으나 처리가 완료되지 않음.. 2024. 2. 12.
메서드의 속성 HTTP 메서드의 속성1. 안전(Safe Methods)호출해도 리소스를 변경하지 않음(단순 조회)2. 멱등(Idempotent Methods)한 번 호출하던 여러번 호출하던 결과는 같음멱등 메서드GET : 한 번 조회하든, 여러번 조회하든 같은 결과가 조회PUT : 결과를 대체, 따라서 같은 요청을 여러번 해도 최종 결과는 같음DELETE : 결과를 삭제, 따라서 같은 요청을 여러번 해도 삭제된 결과는 같음POST : 멱등이 아님, 여러 번 호출하면 같은 결제가 중복해서 발생 가능활용자동 복구 메커니즘서버가 TIMEOUT 등으로 정상 응답을 못주었을 때, 클라이언트가 같은 요청을 다시 해도 되는가의 판단 근거재요청 중간에 다른 곳에서 리소스를 변경해버리면? 멱등은 외부 요인으로 중간에 리소스가 변경되는.. 2024. 2. 6.
메서드 종류 HTTP  메서드 종류주요 메서드GET : 리소스 조회POST : 요청 데이터 처리(주로 등록에 사용)PUT : 리소스를 대체, 해당 리소스가 없으면 생성PATCH : 리소스 부분 변경DELETE : 리소스 삭제기타 메서드HEAD : GET과 동일하지만 메시지 부분을 제외하고, 상태 줄과 헤더만 반환OPTIONS : 대상 리소스에 대한 통신 가능 옵션을 설명CONNECT : 대상 자원으로 식별되는 서버에 대한 터널을 설정TRACE : 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행GET리소스 조회서버에 전달하고 싶은 데이터는 쿼리 파라미터/쿼리 스트링을 통해 전달 POST요청 데이터 처리메시지 바디를 통해 서버로 요청 데이터 전달서버는 요청 데이터를 처리메시지 바디를 통해 들어온 데이터를 처.. 2024. 2. 6.
HTTP 메시지 구조 HTTP 메시지 구조start-linemethod SP(공백) request-target SP HTTP-version ex : GET /search?q=hello&ko HTTP/1.1요청 메시지HTTP 메서드(GET 등) : 서버가 수행해야 할 동작 지정요청 대상 : 절대경로="/"로 시작하는 경로HTTP versionHTTP-version SP status-code SP reason-phrase CRLF ex : HTTP/1.1 200 OK응답 메시지HTTP versionstatus-code : 200(성공), 400(클라이언트 요청오류), 500(서버 내부 오류) 등reason-phrase : 사람이 이해할 수 있는 짧은 상태 코드 설명 글headerfield-name: OWS field-value .. 2024. 2. 5.
HTTP HTTP(HyperText Transfer Protocol)텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고 받을 수 있는 프로토콜HTML, TEXTIMAGE, 음성, 영상, 파일JSON, XML거의 모든 형태의 데이터 전송 가능서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용특징1) 클라이언트 서버 구조Request, Response 구조클라이언트는 서버에 요청을 보내고, 응답을 대기서버가 요청에 대한 결과를 만들어서 응답2) 무상태 프로토콜서버가 클라이언트의 상태를 보존하지 않음장점 : 서버 확장성이 높음(응답 서버를 쉽게 바꿀 수 있음)단점 : 클라이언트가 추가 데이터 전송Stateful, Stateless의 차이는 서버가 클라이언트의 상태 보존 유무  3) 비연결성https는 기본이 연결.. 2024. 2. 5.