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초 쿠키를 발행하면 된다.

쿠키는 도메인 구조를 지원한다. 이 정보로 어느 경로에 이 쿠키가 유효한지 세밀하게 지정할 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts