[TIL] HTTP/1.1, HTTP/2 그리고 HTTPS

link717·2020년 9월 26일
0

TIL

목록 보기
5/53
post-thumbnail

🚕 HTTP(HyperText Transfer Protocol)

Application 계층에 속한 Protocol컴퓨터들끼리 HTML파일을 주고받을 수 있도록 하는 소통방식 또는 약속이다.

🛺 HTTP의 특징

Requset/Response(요청/응답)으로 구성됨

  • Request : Start Line/Headers/Body로 구성되어 있다.

    [Start Line의 구성]

    • HTTP Method: get, post, delete
    • Request Target: 목표 url
    • HTTP Version: HTTP version

    [Headers: 해당 요청에 대한 추가 정보(메타 데이터)를 담고있는 부분]

    • Host
    • User-Agent
    • Content-Type
    • Content-Length
    • Authorization

    [Body: 해당 요청의 실제 내용. 주로 Body를 사용하는 메소드는 POST다.]


  • Request : Status Line/Headers/Body로 구성되어 있다.

    [Status Line의 구성]

    • HTTP Vesrion
    • Status Code: 응답 메세지의 상태 코드
    • Status Text: 상태를 간략하게 설명해주는 텍스트

    ex) HTTP/1.1 404 Not Found: HTTP 1.1 버전으로 응답하고 있는데, 프론트엔드에서 보낸 요청(ex. 로그인 시도)에 대해서 유저의 정보를 찾을 수 없기 때문에(Not Found) 404 상태 메세지를 보낸다.

    [Headers: 응답의 추가 정보(메타 데이터)를 담고있는 부분]

    [Body: 해당 요청의 실제 내용. 주로 사용하는 Body 데이터의 타입은 JSON이다.]

    • 요청의 메소드에 따라 Body가 항상 존재하지 않듯이. 응답도 응답의 형태에 따라 데이터를 전송할 필요가 없는 경우엔 Body가 없을 수도 있다.

Stateless: 각각의 HTTP 통신은 독립적이기 때문에 과거의 통신(요청/응답)에 대한 내용을 전혀 알지 못 한다. 그렇기 때문에 매 통신마다 필요한 모든 정보를 담아서 요청을 보내야 한다.

🛺 전송 계층

TCP(Transmission Control Protocol): 신뢰성 구축에 신경을 많이 쓴 대신 느리다. HTTP /0.9 ~ /2은 TCP를 사용하고 있다.

  • 3-way-handshake
    TCP 통신을 이용하여 데이터를 전송하기 위해 네트워크 연결을 설정(Connection Establish) 하는 과정이다.

UDP(Uer Datagram Protocol) : 신뢰성을 신경 쓰지 않아 빠르다. (Quic: 신뢰성 문제를 보안한 UDP 기반 protocol)

🚕 HTTPS(HyperText Transfer Protocol Secure)

사용자가 이용하는 웹 페이지 서버에 보내는 정보들을 제 3자가 볼 수 없게 하면서 접속한 사이트가 믿을 만한 곳인지 알려주는 기능을 한다.

[출처: Youtube - 우아한 Tech / 얄팍한 코딩사전]

profile
Turtle Never stop

0개의 댓글