HTTP(Hypertext Transfer Protocol)

00SNU3K·2021년 8월 6일
0

인터넷 (네트워크 통신)의 이해

인터넷 ≠ WWW(World Wide Web) 인터넷 기반의 대표 서비스 중 하나

이름프로토콜포트기능
WWWHTTP80웹 서비스
EmailSMTP/IMAP/POP325/110/114이메일 서비스
FTPFTP21파일 전송 서비스
DNSTCP/UDP53네임 서비스
NEWSNNTP119인터넷 뉴스 서비스

인터넷(Internet)

TCP/IP 기반의 네트워크가 전세계적으로 확대되어 하나로 연결된 네트워크들의 네트워크

즉, 수많은 네트워트의 결합체이다.

HTTP(Hypertext Transfer Protocol)

웹 브라우저와 웹 서버가 서로 통신하기 위해 필요한 규약, 서버와 클라이언트가 인터넷 상에서 데이터를 주고받기 위한 프로토콜

가장 성공적인 인터넷 프로토콜. 어떤 종류의 데이터든 전송할 수 있도록 설계 되어있다.

http 는 서버/클라이언트 모델을 따른다.

HTTP 동작방식 (Stateless 방식)

  1. 클라이언트 → 서버 : 클라이언트가 먼저 원하는 서버에 접속

  2. 클라이언트 → 서버 : 클라이언트가 서버에게 요청(request)을 보낸다.

    • 요청하는 데이터는 정해진 규칙이 있다 == 요청 데이터 포맷

    • 요텅 메시지는 헤더, 빈줄, 요청 바디 이렇게 세 부분으로 나뉜다.

      • 헤더 : 첫번째줄(요청 메서드 GET 말고도 여러가지가 존재, 요청 URI (요청하는 자원의 위치), HTTP 프로토콜 버전 등)
      • 요청바디 : GET 방식은 요청 바디가 없다. GET은 요청할 때 가져가야 하는 자원 등을 URI에 붙여서 가져간다. 요청 메서드가 POST나 PUT을 사용할때 바디 요소가 들어온다.
  3. 서버 → 클라이언트 : 서버가 클라이언트에게 응답(response)을 보낸다

    • 응답 데이터 포맷 : 헤더, 빈 줄, 응답 바디
      • 헤더 : 첫 줄은 반드시 응답 HTTP 버전, 응답코드, 응답메시지.
        나버지 헤더 부분에는 날짜, 웹서버 이름과 버전, 컨텐츠 타입 캐시 제어 방식, 컨텐츠 길이 등의 값
      • 빈 줄 다음에 나오는 것(응답 바디?) 이 실제 응답 리소스가 나오는 부분
  4. close : 연결이 끊긴다

  • 이때 클라이언트가 바로 다음 것을 요청한다고 해도, 서버는 이 클라이언트가 아까 요청했던 클라이언트 인지 아닌지 알 수 없다 → 무상태 (Stateless) 특징

Stateless인 HTTP의 장단점

장점

  • 불특정 다수를 대상으로 하는 서비스에 적합하다

  • 클라이언트와 서버가 계속 연결된 형태가 아니기 때문에 클라이언트와 서버 간의 최대 연결 수보다 훨씬 많은 요청과 응답 처리 가능

단점

  • 연결을 끊어버리기 때문에, 클라이언트의 이전 상황을 알 수 없음 때문에 정보를 유지하기 위해서 Cookie와 같은 기술이 등장하게 되었다.

요청 메소드 종류

✔️ GET : 정보 요청 (SELECT)

✔️ POST : 정보 밀어넣기 (INSERT)

✔️ PUT : 정보 업데이트 (UPDATE)

✔️ DELETE : 정보 삭제 (DELETE)

✔️ OPTIONS : 웹 서버가 지원하는 메서드의 종류 요청

✔️ TRACE : 클라이언트의 요청을 그대로 반환 → echo 서비스로 서버상태를 확인하기 위한 목적으로 주로 사용

profile
네트워크 전문가를 꿈꾸며

0개의 댓글