What is HTTP?

차희선·2023년 3월 31일
0

백엔드 로드맵

목록 보기
2/10

HTTP는 무엇일까요?

HTTP란?

HTTP(Hypertext Transfer Protocol)는 인터넷상에서 웹 서버와 클라이언트 브라우저 간의 하이퍼텍스트 문서를 전송하기 위해 사용되는 통신 규약이다.

  • HTTPS(HTTP + Security)

HTTP 특징

  • 클라이언트 서버 구조 : 클라이언트가 서버에 요청을 보내면 서버는 그에 대한 응답을 보낸다.
  • 무상태 프로토콜(Stateless) : HTTP에서 서버가 클라이언트의 상태를 보존하지 않는다.
  • 비연결성 : 비연결성을 가지는 HTTP에서는 실제로 요청을 주고 받을 때만 연결을 유지하고 응답을 주고나면 TCP/IP 연결을 끊는다.

HTTP의 동작방식

클라이언트와 서버들은 개별적인 메시지 교환에 의해 통신한다.

  • 요청(Request) : 보통 브라우저인 클라이언트에 의해 전송되는 메시지
  • 응답(Responses) : 요청에 대해 서버에서 응답으로 전송되는 메시지

요청(Request)


GET https://www.zerocho.com HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...
Upgrade-Insecure-Requests: 1

1. Start line

  • HTTP Method + Request Target + HTTP Version

    
    GET https://www.zerocho.com HTTP/1.1
    
    
  • HTTP Method

    • GET : 자료를 요청할 때 사용
    • POST : 자료의 생성을 요청할 때 사용
    • PUT : 자료의 수정을 요청할 때 사용
    • PATCH : 자료의 부분 수정을 요청할 때 사용
    • DELETE : 자료의 삭제를 요청할 때 사용
  • Request Target : 해당 Request가 전송되는 목표 URL

  • HTTP Version

2. Header

  • 요청에 대한 추가 정보를 담고 있다.

    
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...
    Upgrade-Insecure-Requests: 1
    
    
  • Hearder의 정보 종류

    • Host : 요청이 전송되는 Target의 Host URL
    • User-Agent : 요청을 보낸 클라이언트의 정보
    • Accept : 해당 타입의 Response를 보내달라고 요청
    • Content-Type : Request의 body 타입

3. Body

  • 해당 Request의 실제 메시지
  • 없는 경우가 많음

응답(Response)


HTTP/1.1 200 OK
Connection: keep-alive
Content-Encoding: gzip												 
Content-Length: 35653
Content-Type: text/html;



1. Ststus line

  • 버전 상태 코드 상태 메시지
    1xx 정보
    2xx 성공
    3xx 리디렉션
    4xx 클라이언트오류
    5xx 서버오류
    
    HTTP/1.1 200 OK //성곡적인 요청
    
    

2. Header

  • 응답에 대한 정보
    
    Connection: keep-alive
    Content-Encoding: gzip												 
    Content-Length: 35653
    Content-Type: text/html;
    
    

3. Body

  • 요청에 대한 응답 값
    
    
    
    

0개의 댓글