HTTP 상태코드
- 1xx (Informational): 요청이 수신되어 처리중
- 2xx (Successful): 요청 정상 처리
- 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요
- 4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음
- 5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함
큰 분류에 대한 개념만 잡고 상세 코드는 그때그때 찾아보면 된다.
3xx (Redirection)
웹브라우저는 300번대 응답 헤더에 Location이 있으면 해당하는 값 주소로 자동이동한다.(리다이렉트)
리다이렉트 관련 알아둘 개념, PRG 패턴, 캐시
4xx (Client Error)
클라이언트 오류로 크게 3가지 관점에서 보면된다.
- 문법 오류(부정확한 주소)
- 인증되지 않은 접근(로그인)
- 권한이 불충분한 접근(일반 사용자인데 관리자 페이지 접근)
5xx (Server Error)
400번대 오류랑 헛갈리면 안됨. 500번대 오류는 진짜 서버 문제인 경우에만 사용
DDNS 공격을 받아 응답을 못할 경우 500번대 에러가 될 수 있음
다른 예시로 400번대 오류랑은 다르게 똑같은 시도를 여러 번 했을 시 성공할 수도 있으면 500번대 에러는 아님
HTTP 헤더
HTTP 전송에 필요한 모든 부가정보를 담는다.
실질적인 정보는 바디
표준헤더가 엄청나게 많다.
추가로 커스텀 헤더를 정의해 사용할 수 있다.(클라이언트 단과 서버 단에서 처리할 수 있게 설정한다면)
Content-Type
HTTP 바디가 무엇인지 설명해주는 헤더
JSON인지, XML인지, text인지 등등, 미디어 타입이 무엇인지
Referer
이전 웹 페이지 주소,
이 헤더 정보를 토대로 유입 경로를 분석한다.
User-Agent
유저 브라우저 정보라 생각해도 된다.
이 값으로 장애가 발생한 브라우저가 무엇인지 특정할 수 있다.
HOST
이 헤더값 덕분에 (외부에 노출된) 하나의 IP를 공유하는 여러 서버를 구분할 수 있다.
Location
리다이렉션 시 이동할 주소를 알려준다.
쿠키
HTTP는 기본적으로 무상태 프로토콜이다.
쿠키는 이런 상태정보를 유지할 때 사용된다.
쿠키 사용 예시, 쇼핑몰에서 로그인 하지 않은 사용자가 장바구니에 물건을 담을때 그 정보를 유지할 때 쿠키를 사용한다.
쿠키는 초 단위로 유효시간을 정해 사용한다.
쿠키를 삭제하는 기능은 따로 없다. 삭제하고 싶다면 서버에서 0초 쿠키를 발행하면 된다.
쿠키는 도메인 구조를 지원한다. 이 정보로 어느 경로에 이 쿠키가 유효한지 세밀하게 지정할 수 있다.
'네트워크, 보안' 카테고리의 다른 글
교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS) (0) | 2023.08.26 |
---|---|
모든 개발자를 위한 HTTP 웹 기본 지식 요약 - 2 (0) | 2023.02.23 |
모든 개발자를 위한 HTTP 웹 기본 지식 요약 - 1 (0) | 2023.02.21 |