1. GET과 POST의 비교
HTTP 프로토콜을 이용해서 서버에 요청할 때 사용하는 방식
1-1. GET 방식
- 자원(Resource)를 검색, 조회 등을 위한 Method
- GET 방식은
"HTTP Request Message"
의 Header부분에 포함되어 전송된다.
- URL부분에서
"?"
뒤에 포함되어 전송되는데 다중으로 포함된다면 "&"
을 붙여서 구분하여 전송한다.("쿼리스트링"
이라고 한다.)
- URL에 그대로 노출되기 때문에 보안을 필요로 하는 부분은 사용하지 않는다.(ex. 비밀번호 등)
- 예시 :
www.example-url.com/resources?name1=value1&name2=value2
1-2. POST 방식
- 자원(Resource)를 생성 및 변경을 위한 Method
- POST 방식은
"HTTP Request Message"
의 Body부분에 포함되어 전송된다.
- 따로 암호화를 안하면 GET 방식과 다를 바가 없이 크롬 개발자 도구 등과 같은 Tool로 확인이 가능하다.
참조한 내용의 사이트 목록
2. HTTP 및 HTTPS
- HTTP 및 HTTPS의 가장 큰 차이점은 "암호화" 의 유무이다.
- 암호화를 위해
SSL(Secure Socket Layer)
or TLS(Transport Layer Security)
를 사용한다.
- HTTPS을 사용하면 HTTP보다는 속도가 느리다고는 하지만 하드웨어 발전 및 HTTP 2.0으로 인해 차이가 없는 수준이라고 한다.
2-1. SSL(Secure Socket Layer) / TLS(Transport Layer Security) 차이점
- 서로 다른 암호를 사용하는 프로토콜이라고 할 수 있다.
- SSL2 / SSL3은 상호운용 불가, SSL3 / TLS1은 호환 불가
2-1-1. SSL(Secure Socket Layer)이란?
- Netscape에 의해 개발됨.
- 네트워크를 통해 작동하는 서버, 시스템 및 응용 프로그램 사이에 인증 및 데이터 암호화를 제공하는 인터넷 암호화 프로토콜
현재 SSL 2.0 / SSL 3.0은 모두 IETF에 의해 사용이 중지됨. SSL 2.0(11년도) / SSL 3.0(15년도)
2-1-2. TLS(Transport Layer Security)이란?
- 1999년에 도입됨.(IETF에서 개발)
- SSL 3.0을 기반으로 개발함.
TLS는 4가지 버전이 있으며 1.0, 1.1, 1.2, 1.3(최신)이다.
1.0 및 1.1은 지원 중단 예정
참조한 내용의 사이트 목록
3. OSI 7계층
계층을 나누는 이유는 통신이 작동하는 방식을 쉽게 파악할 수 있고, 고장 발생 시 그 단계만 수리하는 손쉬운 사용이 가능하다.
3-1. 1 계층
- 물리 계층
- 데이터를 전기 신호로 바꾸어주는 계층
3-2. 2 계층
- 데이터링크 계층
- 데이터의 물리적인 전송과 에러 검출, 흐름 제어를 담당하는 계층
3-3. 3 계층
- 네트워크 계층
- 패킷을 목적지까지 가장 빠른 길로 전송하기 위한 계층
3-4. 4 계층
- 전송 계층
- 최종 수신 프로세스로 데이터의 전송을 담당하는 계층
3-5. 5 계층
- 세션 계층
- 컴퓨터끼리 통신을 하기 위해 세션을 만드는 계층
3-6. 6 계층
3-7. 7 계층
- 응용 계층
- 사용자와 직접 상호작용하는 응용 프로그램들이 포함된 계층
참조한 내용의 사이트 목록
4. TCP와 UDP
4-1. TCP(Transmission Control Protocol, 전송제어 프로토콜) 통신이란?
- 신뢰성이 없는 네트워크를 통해 종단간에 신뢰성 있는
바이트 스트림
을 전송하도록 특별히 설계됨.
- TCP 서비스는 송신자와 수신자 모두가 소켓이라고 부르는 종단점을 생성함으로써 이루어짐.
- 연결 생성(Connection establishment)은
3-way handshake
를 사용한다.
- 연결 종료(Connection termination)는
4-way handshake
를 사용한다.
- 모든 연결이 전이중(full-duplex), 점대점(point to point)방식이다.
- 전이중(full-duplex) = 전송이 양방향으로 동시에 진행될 수 있음.
- 점대점(point to point) = 연결이 정확히 2개의 종단점을 가지고 있음.
- 멀티캐스팅 및 브로드캐스팅을 지원하지 않음.
- 파일 교환 등에 사용됨.
대부분의 인터넷 응용 분야들은 신뢰성과 순차적인 전달을 필요로 한다. UDP로는 이를 만족시킬 수 없으므로 다른 프로토콜이 필요하여 탄생한 것이 TCP
이다
4-2. UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜) 통신이란?
- 비연결형 프로토콜
- 데이터그램을 캡슐화하여 보내는 방법과 연결 생성을 하지 않고 보내는 방법을 제공한다.
- 흐름제어, 오류제어, 손상된 세그먼트 수신에 대한 재전송을 하지 않음.
- 포트들을 사용하여 IP 프로토콜에 인터페이스를 제공
- 스트리밍 서비스에 적합하다.
4-3. TCP와 UDP의 차이점
구분 | TCP | UDP |
---|
연결 방식 | 연결형 서비스 | 비연결형 서비스 |
패킷 교환 방식 | 가상 회선 방식 | 데이터그램 방식 |
전송 순서 | 전송 순서 보장(순차적) | 전송 순서가 바뀔 수 있음 |
수신 여부 확인 | 확인함 | 확인 안함 |
통신 방식 | 1:1 통신 | 1:1 / 1:N / N:N 통신 |
신뢰성 | 높음 | 낮음 |
속도 | 느림 | 빠름 |
참조한 내용의 사이트 목록