GET / POST
GET 요청은 서버에 존재하는 정보를 요청. 이 때 반환되는 정보는 정보 자체가 아니라 정보의 표현.
POST요청은 서버에 정보를 생성하는 것을 요청. 예전 HTTP 통신은 POST를 통해 데이터 삭제, 수정도 form 요청으로 같이 수행. 해당 요청은 서버의 상태를 변경시키기 때문에 멱등성이 유지되지 않음.
GET 데이터 흐름: 클라이언트가 URL에 데이터를 첨부한 GET 요청. 서버는 요청을 받아 데이터를 파싱하고 해당 정보를 처리하여 응답. 클라이언트는 서버의 응답을 받아서 정보를 사용.
POST 데이터 흐름: 클라이언트가 요청 본문에 데이터를 담아 POST 요청. 서버는 본문의 데이터를 추출하여 처리하고 그 결과를 응답. 클라이언트는 서버의 응답을 받아 처리 결과를 확인.
데이터 전송 방식 차이: GET은 URL에 데이터가 노출되며 길이 제한 존재. POST는 요청 본문에 데이터를 담아 전송하며 길이 제한 존재 X.
용도와 보안: GET은 주로 조회 작업에 사용되고, POST는 데이터의 생성이나 수정 작업에 활용.
응답 및 결과 처리: 서버는 클라이언트의 요청에 대한 처리를 마친 후 응답을 생성하여 클라이언트에게 전송. 클라이언트는 서버의 응답을 받아서 필요한 동작을 수행하거나 결과를 화면에 표시.
TCP/UDP
TCP UDP 둘다 전송계층에서 사용되는 프로토콜이라는 공통점.
TCP의 데이터 전송 단위는 세그먼트이며 신뢰성 있는 데이터 전송을 지원하는 연결지향형 프로토콜. 3-way handshake 라는 연결 과정을 통해 통신을 시작하며, 흐름 제어와 혼잡제어를 지원. 또한, 데이터의 전송 순서를 보장. 연결을 해제할 때는 4-way handshake 이 후 연결을 해제.
UDP의 데이터 전송 단위는 데이터그램이며 비연결지향형 프로토콜. TCP와는 다르게 별도의 연결 과정 없이 일방적으로 데이터를 전달하는 방식. 따라서, 신뢰성 있는 데이터 전송을 보장하지 않으며, 혼잡 제어, 순서 보장, 흐름제어를 지원 X.
이러한 특징들로 인해 TCP는 신뢰성이 있는 전송이 중요할 때 사용하며, UDP는 연속성이 중요한 실시간 스트리밍과 같은 서비스에 주로 사용.
http(s)
HTTP는 텍스트 기반으로 데이터를 전송하며 보안 기능이 없는 평문 통신 방식. 중간에 제3자가 데이터를 가로채거나 조작할 가능성이 있어 지금은 자주 사용 X. 80번 포트를 사용하여 데이터를 전송.
HTTPS는 HTTP에 SSL/TLS을 사용하여 제3자가 데이터를 엿볼 수 없도록 보안을 강화하고 암호화하여 안전하게 전송하는 방식. 443번 포트를 사용하여 데이터를 암호화하고 전송.
SSL/TLS 의 동작 방식 정보 보호를 위해 웹에서 전송되는 데이터를 암호화하여 데이터를 가로채더라도 복호화가 거의 불가능. Handshaking으로 인증이 이루어지며 데이터 무결성을 위해 포함된 디지털 서명으로 데이터 조작 여부를 확인.
'메모 > Network' 카테고리의 다른 글
RestAPI (0) | 2023.10.15 |
---|---|
대규모 트래픽, AWS S3/EC2 (1) | 2023.10.05 |
OSI 7계층,세션 기반 인증/토큰 기반 인증,JWT/Refresh/Access/Token,OAuth (2) | 2023.09.24 |
CORS, 브라우저 작동방식, 쿠키/세션 (0) | 2023.09.22 |