HTTP 프로토콜

임정택·2021년 2월 20일
0

HTTP

목록 보기
1/1

HTTP

웹상에서 클라이언트와 서버 간에 요청/응답으로 데이터를 주고 받을 수 있는 프로토콜

  • HTTP 요청응답메시지 구조(Request , Response)

    start-line(요청내용) | header | body

    start-line: HTTP 메소드 / Request target / HTTP version 으로 구성되어 있음

    header(key:value 쌍으로 구성):

    • Host : 요청이 전송되는 target의 호스트 URL 주소

    • User-Agent : 요청을 보내는 클라이언트의 정보 ex : 웹 브라우저의 정보

    • Accept

      • 해당 요청이 받을 수 있는 응답 body 데이터 타입의 정보
      • 모든 타입을 허용하는 경우 /*로 지정
    • Connection

      • 해당 요청이 끝난 후에 클라이언트와 서버간의 연결을 계속 유지할 것인지 끊을 것인지 알려주는 헤더

        (keep-alive : 네트워크 연결을 유지, close : 연결닫기)

    • Content-Type

      • HTTP 요청이 보내는 메시지 body 타입을 알려줌
    • Content-Length : 요청이 보내는 메시지 body의 총 사이즈 정보

  • HTTP Method

    HTTP 메소드는 서버가 요청을 수행하기 위해 해야할 행동을 표시하는 용도

    1. GET(서버 데이터 조회용, 서버 내 데이터 불변)

      서버로부터 정보 조회

    2. POST( 서버의 상태나 데이터 변경용) ⇒ 주로 생성용

      POST는 리소스를 생성/변경하기 위해 설계되었기 때문에 GET과 달리 전송해야될 데이터를 HTTP 메세지의 Body에 담아서 전송합니다. 서버에게 동일한 요청을 여러 번 전송해도 응답은 항상 다를 수 있습니다

    3. HEAD

    4. PUT( 서버의 상태나 데이터 수정용)

    5. DELETE(`` 삭제용)

      //CRUD (Create : POST), (Read: GET) ,(Update: PUT) , (Delete:DELETE)

  • HTTP Session

    • 일정 시간 동안 같은 브라우저로부터 들어오는 요청을 하나의 상태로 보고 그 상태를 유지하는 기술이다.

    • 즉, 웹 브라우저를 통해 서버에 접속한 이후부터 브라우저를 종료할 때까지 유지되는 상태이다. 브라우저가 종료되기 전까지 클라이언트의 요청을 유지하게 해주는 기술

    • 동작방식

      1. 웹브라우저가 서버에 요청 ,서버가 해당 웹브라우저(클라이언트)에 유일한 ID(Session ID)를 부여함, 서버가 응답할 때 HTTP 헤더(Set-Cookie)에 Session ID를 포함해서 전송

      2. 쿠키에 Session ID를 TAEKID 라는 이름으로 저장 Set−Cookie: TAEKID=takef

      3. 웹브라우저는 이후 웹브라우저를 닫기까지 다음 요청 때 부여된 Session ID가 담겨있는 쿠키를 HTTP 헤더에 넣어서 전송 Cookie: TAEKID=takef

      4. 서버는 세션 ID를 확인하고, 해당 세션에 관련된 정보를 확인한 후 응답

        세션도 쿠키를 사용하여 값을 주고받으며 클라이언트의 상태 정보를 유지한다.즉, 상태 정보를 유지하는 수단은 쿠키 이다.

  • HTTP Cookie

    • 클라이언트 로컬에 저장되는 키와 값이 들어있는 파일이다.
    • 이름, 값, 유호 시간, 경로 등을 포함하고 있다.
    • 클라이언트의 상태 정보를 브라우저에 저장하여 참조한다.
  • HTTP 프로토콜의 특징

    비연결지향과 상태정보 유지안함의 특징을 가지고 있는 HTTP의 특징을 보완하기 위해 세션과 쿠키의 기술이 사용됨

profile
안경 쓴 개발자

0개의 댓글