본문 바로가기

HTTP7

캐시와 검증 헤더 캐시 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소로 저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공 캐시가 없는 경우 데이터가 변경되지 않아도 계속 네트워크를 통해서 데이터를 다운로드 받아야 함 인터넷 네트워크는 매우 느리고 비쌈 브라우저 로딩 속도가 느림 느린 사용자 경험을 줌 캐시가 있는 경우 캐시 가능 시간동안 네트워크를 사용하지 않아도 됨 비싼 네트워크 사용량을 줄일 수 있음 브라우저 로딩 속도가 매우 빠름 빠른 사용자 경험을 줌 캐시 시간 초과 cache-control: max-age=캐시 유효 시간(초) 로 표현 캐시 유효 시간이 초과하면 서버를 통해 데이터를 다시 조회하고 캐시를 갱신 다시 네트워크 다운로드 발생 캐시 유효 시간 초과 캐시 유효 시간이 초과 후 서버에 다시 .. 2024. 2. 21.
상태코드 HTTP 상태 코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx(Information) : 요청이 수신되어 처리중 2xx(Successful) : 요청 정상 처리 3xx(Redirection) : 요청을 완료하려면 추가 행동이 필요 4xx(Client Error) : 클라이언트 오류(잘못된 문법 등)로 서버가 요청을 수행할 수 없음 5xx(Server Error) : 서버 오류로 서버가 정상 요청을 처리하지 못함 1xx(Information) 요청이 수신되어 처리중, 실무에서 거의 사용X 2xx(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-line 요청 메시지 HTTP 메서드(GET 등) : 서버가 수행해야 할 동작 지정 요청 대상 : 절대경로="/"로 시작하는 경로 HTTP version method SP(공백) request-target SP HTTP-version ex : GET /search?q=hello&ko HTTP/1.1 응답 메시지 HTTP version status-code : 200(성공), 400(클라이언트 요청오류), 500(서버 내부 오류) 등 reason-phrase : 사람이 이해할 수 있는 짧은 상태 코드 설명 글 HTTP-version SP status-code SP reason-phrase CRLF ex : HTTP/1.1 200 OK header field-name: OWS.. 2024. 2. 5.
HTTP HTTP(HyperText Transfer Protocol) 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고 받을 수 있는 프로토콜 HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML 거의 모든 형태의 데이터 전송 가능 서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 특징 1) 클라이언트 서버 구조 Request, Response 구조 클라이언트는 서버에 요청을 보내고, 응답을 대기 서버가 요청에 대한 결과를 만들어서 응답 2) 무상태 프로토콜 서버가 클라이언트의 상태를 보존하지 않음 장점 : 서버 확장성이 높음(응답 서버를 쉽게 바꿀 수 있음) 단점 : 클라이언트가 추가 데이터 전송 Stateful, Stateless의 차이는 서버가 클라이언트의 상태 보존 유무 3) 비연.. 2024. 2. 5.