ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP (3) - HTTP
    카테고리 없음 2023. 9. 13. 11:48

     

    1. HTTP

     

    HyperText Transfer Protocol

     

    - HTML,TEXT,IMAGE,JSON등 여러 데이터를 전송하기 위한 규약임

    (규약이라는 말은 요청과 응답에 특정 제약사항 및 특징이 있다는 것 -> 지켜야할 사항 )

    - 기반 전송계층은 TCP와 UDP임

     

    2. HTTP의 특징

     

    2.1 클라이언트 서버 구조

     

    - Request, Response구조

    - 클라이언트는 서버에 요청을 보내고, 응답을 대기

    - 서버가 요청에 대한 결과를 만들어 응답

     

    2.2 무상태 프로토콜

     

    - 서버는 클라이언트 상태를 보존하지않음

    - 장점: 서버 확장성이 높다.

    - 단점: 클라이언트가 추가로 데이터를 전송해야함 

     

    출처: HTTP(김영한) 인프런

     

    - 모든 것을 무상태로 설계할 수 있는 경우도 있고 아닌 경우도 있음

    - 무상태 (로그인 필요 없는 단순한 서비스 소개)

      상태유지(로그인)

     

    - 로그인한 사용자의 경우 로그인 했다는 상태를 서버에 유지

    - 일반적으로 쿠키와 세션 등을 이용함

    - 상태 유지는 최소한만 사용하자 

     

    2.3 비 연결성 

     

    - HTTP는 기본적으로 연결 유지하지 않음

    - 따라서 빠른 속도로 응답함 

    - 서버 자원을 효율적으로 사용가능 

     

    > 비연결성 한계와 극복

    *여기 강의

     

    3. HTTP 메시지

     

    출처: HTTP(김영한) 인프런

    3.1 요청메시지

     

    - 시작라인 : method SP request-targetSP HTTP-version CRLF

                        위 3가지 정보가 공백으로 구분되어 들어감 

                         ex) GET /serch?q=hello&hl=ko HTTP/1.1

     

    > HTTP메서드 : GET,POST,PUT,DELETE 등 서버가 수행할 동작 지정 

                             GET(리소스 조회), POST(요청 내역 처리)

    > 요청대상: 절대경로 "/"로 시작하는 경로 (.등을 포함하지 않은 절대경로)

     

    -응답 메시지: Http-version status-code reason-phrase

     

    > HTTP 상태코드 : 요청 성공, 실패를 나타냄 

    > 이유문구: 사람이 이해할 수 있는 짧은 상태코드 설명 

     

    3.2 HTTP 헤더

     

    field-name: field-value (키와 값 형태)

     

    - HTTP 전송에 필요한 모든 부가정보 

    (매시지 바디크기,압축,인증,캐시 관리 정보 등등)

    - 표준헤더는 굉장히 많고, 필요시 임의의 헤더 추가 가능하다

     

    3.3 HTTP 메시지 바디

     

    - 실제 전송할 데이터가 담김

    - HTML문서, 이미지 영상, byte로 표현 가능한 모든 데이터 전송 가능

     

Designed by Tistory.