준코딩

HTTP 통신 본문

CS/컴퓨터 네트워크

HTTP 통신

Ljunhyeob - App Dev 2024. 3. 27. 11:50

개발하면서 항상 사용하지만, 누가 설명해 보라고 하면 설명 못하겠어서 작성합니다.

 

서로 통신하면서 데이터 주고받는거잖아~ 라고 설명할 순 없으니....

 

 

HTTP 통신은 Hyper Text Transfer Protocol입니다. 말 그대로 Hyper Text를 전송하기 위한 프로토콜입니다.

 

클라이언트가 서버에게 Request(요청) 하면 

서버에서는 Request 에 맞는 응답결과를 Response(응답) 합니다.

클라이언트는 Response 값을 사용자에게 보여줍니다.

 

이렇게 3줄이 간단하게 HTTP 통신 과정입니다.  

 

고작 이렇게만 공부하려고 글을 쓴 건 아니니... 

 

클라이언트가 요청 할때나, 서버에서 응답할 때 정보들을 Packet(패킷)이라는 작은 조각에 담겨 보내집니다.

 

이 Packet은 헤더와 바디로 구성이 되어 있다.

 

 

헤더(Headers)

- HTTP 요청이나 응답에 관련된 데이터를 포함

- 요청 헤더: 클라이언트가 서버에게 전달하는 추가 정보가 포함됨. (요청의 목적, 사용자의 에이전트, 쿠키, 인증 정보 등등)

- 응답 헤더: 서버가 클라이언트에게 전송하는 데이터 (응답 상태 코드, 응답 메세지, 콘텐츠 유형, 캐시 관련 정보 등등)

- 헤더는 key-value 쌍의 형태로 되어있습니다. 

 

바디(Body)

- 실제 전송되는 데이터

- HTML양식 데이터, JSON 또는 XML 데이터가 전송됨.

 

 

헤더와 바디로 구성이 되어있는 패킷을 클라이언트와 서버가 주고 받으면서 통신을 한다.

 

 

HTTP 와 HTTPS 의 차이점은?

 

HTTP는 암호화 되지않은 데이터를 전송하다보니, 전송된 정보를 제 3자가 가로채고 읽을 수 있다. 

이런 부분을 해결하기 위해 보안 계층을 추가하여 HTTPS 가 나타낫다.

 

HTTPS는 HTTP의 요청,응답을 SSL 및 TLS 기술에 결합하여 데이터를 주고받도록 합니다.

SSL은 공개키 암호화 방식을 사용하여 데이터의 기밀성과 무결성을 보호한다.

TSL는 SSL의 후속 버전으로 취약점을 보완하고 더 강력한 보안 기능을 제공한다고합니다. 

(RSA, DSA, ECC 같은 고급 암호화 알고리즘을 제공하여 더 안전한 통신 제공)

 

'CS > 컴퓨터 네트워크' 카테고리의 다른 글

컴퓨터 네트워크-02  (0) 2018.12.04
컴퓨터 네트워크-01  (0) 2018.12.03
컴퓨터 네트워크  (0) 2018.11.30
Comments