📕 response Line : 요청 처리 결과를 표현하는 상태코드(status code)
ex) sendError(sc) , setStatue(sc)
📌status code 종류
100번대: ING...(진행중임...) webSocket : Http의 하위 프로토콜 형태로 connectfull 구조를 가짐.
200번대: OK(success)
300번대: 클라이언트의 다음 액션에 대한 유도. body가 없이 line+header로만 응답이 구성됨.
304 : Not Modified(수정되지 않음)
301/302/307 : Moved(이동됨) + Location(이동된 새로운 위치) 헤더와 병용.
400번대 : client side failure
400 : Bad Request : 잘못된 요청, 요청 데이터 검증에 활용.
404 : Not Found : 찾을수 없음, 자원이 없음, 제공할 서비스가 없음
405 : Method Now Allowed : do계열의 메소드를 오버라이딩 하지 않았을때 발생.
401/403 : 어플리케이션을 보호, 권한여부를 검증(허가받은 유저? 허가받지 않은 유저?)
Authentication(인증)/Authorization(인가) 기반의 접근제어에 활용
406/415 : 요청이나 응답의 컨텐츠 타입과 관련하여 활용.
406 : Not Acceptable - accept request header에 있는 MIME 컴텐츠를 생성할 수 없음.
415 : UnSupported Media Type - request body content 를 해석할 수 없음.
500번대 : server side failure , 500(internal server error)
클라이언트에게 서버의 정보를 노출하지 마라. =>따라서 오류코드가 명확하지않고 두루뭉술함.
📕 response Header : response content에 대한 meta data, Content-*
ex) setHeader(name,value), setIntHeader(name, intValue), setDateHeader(name, longValue)
addHeader(name, value)
1) response body content에 대한 설정 : Content-*
2) 캐시 제어를 위한 설정 : Cache-Control
응답 헤더를 이용한 캐시 제어
Pragma(http 1.0), Cache-Control(http 1.1), Expires(all version)
Pragma(http 1.0), Cache-Control(http 1.1)
- public 범용캐시로 저장할때
- private 제한적으로 현재 계정 안에서만 이용할 수 있는 캐시
- no-cahe 캐싱하지 않는다 + 저장된 캐시가 있다면 사용전에 만료여부를 항상 확인한다.
- no-store 캐싱하지 않는다
- must-vaildate 검증한다
- max-ages : miliseconds
3) auto request : Refresh
주기적인 자동요청 발생
1. server side : response header (Refresh)
2. client side
- JS : scheduling function (setTimeout, setInterval)
- HTML : meta
4) flow control : Location
📕 response Body[Content-Body, Message-Body] : 클라이언트가 요청한 컨텐츠 자체.
'웹기반 애플리케이션' 카테고리의 다른 글
JSP📃_Exception (0) | 2023.03.14 |
---|---|
JSP📃_웹 어플리케이션에서 흐름 제어(A->B) 방법 (0) | 2023.03.09 |
웹기반 애플리케이션JSP 9일차 📃_직렬화·역직렬화·마샬링·언마샬링 (0) | 2023.03.06 |
JSP📃_보충_Stream정리 (0) | 2023.03.06 |
JSP 8일차 📃_RequestLine_RequestHeader_RequestBody (0) | 2023.03.02 |