일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 연결리스트
- BAEKJOON
- Xcode
- swift baekjoon
- 링크드리스트
- Swift
- IOS
- android java
- C언어
- xocde
- 버블정렬
- FLUTTER
- storyboard
- customPopup
- 안드로이드스튜디오
- 커스텀팝업
- 보호와 보안
- 자바
- label
- 플러터
- TextField
- deeplink
- text to speech
- 백준
- 안드로이드
- Firebase
- Android Studio
- Android
- 준코딩
- 예외처리
- Today
- Total
준코딩
HTTP 통신 본문
개발하면서 항상 사용하지만, 누가 설명해 보라고 하면 설명 못하겠어서 작성합니다.
서로 통신하면서 데이터 주고받는거잖아~ 라고 설명할 순 없으니....
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 |