ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP 프로토콜 #1
    백엔드/HTTP 2024. 8. 23. 15:57
    HTTP

     

    HTTP 란?

    • HyperText Transfer Protocol (프로토콜)
    • 데이터 전송 및 요청/응답 구조를 위해 Web에서 많이 사용 
    • 요청 - 응답 구조 (무상태 구조를 사용)

     

     

    HTTP 버전

    • TCP
      • HTTP/1.1 (주로 사용)
      • HTTP/2.0
    • UDP
      • HTTP/3.0

     

     

    HTTP 메시지 전송 종류

    • html , text
    • json, xml
    • image, 음성, 영상, 파일
    • 거의 모든 형태

     

    HTTP 특징

    • 클라이언트 - 서버 구조
      • 요청(클라이언트) - 응답(서버) 구조
    • 무상태(stateless)
      •  비연결성
      • 서버가 클라이언트 상태 보존x
      • 클라이언트의 상태가 보존이 안되기에, 정보를 추가적으로 보내야한다.
      • 요청에 대한 응답을하면 끝
      • 서버 확장이 쉬움
    상태 유지 (stateful) 구조

    [단점]
    - 리소스를 많이 차지하게 됨
    - 정보를 유지하고 있는 서버가 항상 응답해야함 ( 서버 확장의 어려움 )
    - 장애가 날경우 스왑할 서버가 존재할 수 없음

     

     

    HTTP 메시지 구조

    Start-Line
    field-Line

    [message-body]

     

    • HTTP 요청 예시
    GET /search?q=hello HTTP/1.1
    Host : www.naver.com
    • 설명
      • Start-line
        • GET : HTTP 메서드  (GET, POST, PUT, DELETE.. )
        • PATH : 리소스 자원 위치
        • Query : 쿼리
        • 버전 : HTTP/1.1
      • field-line
        • HOST : 호스트 정보 (도메인명)

     

     

    • HTTP 응답 예시
    HTTP/1.1 200 OK
    Content-Type : text/html; charset=UTF-8
    Content-Length : 3423

    <html>
    //
    </html>
    • Start Line
      • 버전 : HTTP/1.1
      • 상태코드 : 200 (sucess)
        • 상태코드 : 200 (Ok), 400 (클라이언트 오류) , 500( 서버오류 )
    • field Line
      • Content-Type : message body 형태 및 인코딩정보
      • Content-Length : message body의 길이

     

    '백엔드 > HTTP' 카테고리의 다른 글

    HTTP 메서드 예시  (0) 2024.08.26
    HTTP 프로토콜#3 ( 상태코드 )  (0) 2024.08.23
    HTTP 프로토콜 #2 ( Method )  (0) 2024.08.23
    URI, URL, URN  (1) 2024.08.23
    인터넷 통신과정 ( + IP, TCP/UDP, PORT, DNS )  (0) 2024.08.23
Designed by Tistory.