네트워크

[네트워크] HTTP

양원준 2023. 6. 12. 08:50
728x90

http( hyper text transfer protocol )는 인터넷에서 데이터를 주고받을 수 있는 프로토콜이다

 

 

프로토콜? 규칙이라 생각하면 편하다

이렇게 규칙을 정해두었기 때문에, 모든 프로그램은 규칙에 맞춰 개발하며 정보 교환이 가능해짐

 

http는 클라이언트가 요청을 생성하기 위한 연결을 연 다음 응답을 받을 때까지 대기하는 전통적인 클라이언트-서버 모델을 따름

http는 www 상에서 주로 html 문서를 주고 받으며 tcp와 udp를 사용한다.

 

 

 

http의 동작 방식

클라이언트가 브라우저를 통해서 어떠한 서비스를 url를 통해 서버에 요청하면 서버에서는 해당 요청에 대한 결과를 응답하는 형태로 동작

 

 

 

http 프로토콜 특징

 

  • 비연결성(connectionless)
  • 무상태(stateless)

 

비연결성이란 클라이언트와 서버간에 tcp연결 설정이 이뤄지고 난 뒤, 클라이언트는 웹서버에게 서비스를 요청하고 서버는 그에 응하는 서비스를 제공함 --> 이러한 이유 때문에 비연결형 프로토콜이라고 함

동시에 다수의 연결이 들어오면 서버는 이를 처리하가위해 부하가 생김

 

 

결국,

  1. 비연결성은, 클라이언트와 서버가 연결되고 클라이언트의 요청을 서버가 답하면 연결을 끊는것을 의미
  2. 무상태는 http의 비연결성 특성에 의해 클라이언트에 상태를 기억하지 못하는 것,  즉 서버는 클라이언트를 식별하지 못하기 때문에 새로운 인증을 계속해야함

 

 

http 패킷 분석

패킷이란? 통신에서 주고 받는 데이터의 구조

웹 통신은 전체 처리할 데이터를 일정 크길 나누어 주고 받는다 -> 나누는 이유는 한번에 보내면 처리하는데 오래걸림

 

 

http 통신으로 보내는 패킷은 크게 헤더와 바디부분으로 나뉨

헤더는 http 선두에 삽입되는 부분이며, 목적에 따라 응답/요청 헤더로 나뉨

바디는 실제 데이터 부분이다.

 

 

http 프로토콜은 응답/요청메시지 두가지가 있음

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90

'네트워크' 카테고리의 다른 글

[네트워크] OSI 7계층과 TCP/IP 4계층  (0) 2024.02.01
[네트워크] DNS  (0) 2023.06.14
[네트워크] 쓰레드, 멀티 쓰레드  (0) 2023.06.11
[네트워크] IO 멀티플렉싱  (0) 2023.06.11
[네트워크] 시그널 핸들링  (0) 2023.06.11