HTTP (Hyepr Text Transfer Protocol)

HTTP/1.0 클라이언트 요청에 대한 응답 이후 TCP 연결 종료.

HTTP/1.1 부터 Keep-Alive 옵션 추가.

Keep-Alive를 통해 한 번의 연결 이후 요청/응답 반복 가능.

하지만, Server에서 Client의 상태 정보는 저장하지 않음. Cookie, Session을 이용하여 상태 정보 유지.

 

Keep-Alive 응답 헤더 추가 옵션

timeout - 연결 지속 시간

max - 최대 요청 개수

 

웹 서버 설정 파일(httpd.conf)

httpd.conf
    ---------------
    ...
    KeepAlive On

    MaxKeepAliveRequests 100
    KeepAliveTimeout 30
    ...
    ---------------

 

Cookie 방식

HTTP Header에 Client의 상태 정보를 담아서 전달 하는 방식

Set-Cookie 응답헤더로 쿠키 설정

 

세션 쿠키(Session Cookie)

클라이언트의 메모리에 저장하여 세션이 유지되는 동안 존재하는 쿠키

 

지속 쿠키(Persistent Cooke)

클라이언트에 파일 형태로 지속해서 존재하는 쿠키

 

Session 방식

Client에 Session ID를 부여하고 Session에 대한 정보를 Sever에 저장하는 방식

Session Cookie를 이용하여 요청/응답

 

HTTP Cookie 보안 속성

httponly - 스크립트를 통한 쿠키 접근 차단

secure - HTTPS 통신일 경우에만 쿠키 전달

 

주요 요청 메소드(Request Method)

Request Method 설명
GET 일반 요청. Query String으로 데이터 전송 가능.
POST 데이터를 전달하고 처리 결과를 요청.
HEAD 헤더 값만 요청
OPTIONS 지원하는 Method 확인
CONNECT 터널링
PUT 데이터 저장
TRACE 루프백 테스트
DELETE 삭제

 

주요 상태 코드(Status Code)

Code State
1xx Info
2xx Success
3xx Redirection
4xx Client Error
  401 Unautorized
  403 Forbidden
  404 Not Found
5xx Server Error