# 10 HTTP

박종규·2021년 7월 15일
0

TIL

목록 보기
11/22

HTTP란?

  • HyperText Transfer Protocol
  • 웹 상에서 클라이언트와 서버가 Request와 Response로 정보를 주고 받는 프로토콜

특징

  • Stateless : 독립적이다. 이전 상태를 저장하지 않는다.
    (로그인 등 권한 부여를 위해 세션, 쿠키, 토큰을 이용한다.)
    장점 : 서버 확장성
    단점 : 클라이언트가 추가 데이터를 전송해야함.
    [세션, 쿠키, 토큰에 관한 글]
    참고 : https://tansfil.tistory.com/58?category=475681

  • Connectionless : 서버가 response를 마치면 연결을 끊는다.
    장점 : 리소스를 줄여 서버 자원을 효율적으로 사용 가능.
    단점 : 모든 요청에 대해 매번 연결/해제를 거쳐야하므로 오버헤드가 발생
    Solution : 지금은 http 지속 연결(Persistent Connections)로 해결 & http 발전으로 최적화

Request message

크게 start line, header, body로 구성
start line는 http Method + 요청대상 + http version으로 구성되어있다.
(예시: GET /search HTTP/1.1)

http Method의 종류

  • GET : 조회
  • POST : 등록 및 수정
  • DELETE : 삭제

header에는 http 전송에 필요한 정보가 포함되어있다. {key:value}
body에는 전송할 데이터

Response message

크게 status line, header, body로 구성
status line는 응답 상태 코드 + 요청대상 + http version으로 구성되어있다.
(예시: HTTP/1.1 200 OK)

응답 상태 코드 종류

  • 200번대 : 성공
  • 400번대 : 클라이언트 요청 오류
  • 500번대 : 서버 내부 오류

header, body는 request message와 동일하다

0개의 댓글