[네트워크] HTTP & HTTPS
·
CS 지식/[네트워크]
HTTP Method 종류 기능 GET 데이터 조회 POST 요청 데이터 처리(보통 데이터 등록 사용) PUT 데이터 변경 (해당 데이터가 없으면 생성) PATCH 일부 데이터만 변경 DELETE 데이터 삭제 1) HTTP 1.0 단기 커넥션(shrot-live connections) : 요청 날릴 때마다 커넥션 맺고 끊어짐 Request를 날릴 때마다 Connection을 새로 생성해야 함 Data를 압축해서 전달 가능하도록 하여 전달하는 Data 양이 감소 2) HTTP 1.1 지속 커넥션(Persistent connection) : 커넥션 재사용 가능 HTTP 파이프라이닝(Pipelining) : Request를 미리 여러 개 서버에 날릴 수 있음 (이전엔 리퀘스트 하나보내고, Response 받고..
[네트워크] GET & POST
·
CS 지식/[네트워크]
둘 다 HTTP 프로토콜을 이용해 서버에 무언가 요청할 때 사용하는 방식 GET 방식 URL을 통해 모든 파라미터를 전달하기 때문에 주소창에 전달 값이 노출됨 URL 길이가 제한이 있기 때문에 전송 데이터 양이 한정되어 있고, 형식에 맞지 않으면 인코딩해서 전달해야함 POST 방식 HTTP 바디에 데이터를 포함해서 전달 웹 브라우저 사용자의 눈에는 직접적으로 파라미터가 노출되지 않고 길이 제한도 없음 보통 GET은 가져올 때, POST는 수행하는 역할에 활용함 GET은 SELECT 성향이 있어서 서버에서 어떤 데이터를 가져와서 보여주는 용도로 활용 POST는 서버의 값이나 상태를 바꾸기 위해 활용
[네트워크] 대칭키 & 공개키
·
CS 지식/[네트워크]
대칭키(Symmetric Key) 암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘 동일한 키를 주고받기 때문에, 매우 빠르다는 장점이 있음 but, 대칭키 전달 과정에서 해킹 위험에 노출 공개키(Public Key) / 비대칭키(Asymmetric Key) 암호화와 복호화에 사용하는 암호키를 분리한 알고리즘 대칭키의 키 분배 문제를 해결하기 위해 고안됨.(대칭키일 때는 송수신자만 키를 알아야하기 때문에 분배가 복잡하고 어렵지만 공개키와 비밀키로 분리할 경우, 남들이 알아도 되는 공개키만 공개하면 되므로) 자신이 가지고 있는 고유한 암호키(비밀키)로만 복호화할 수 있는 암호키(공개키)를 대중에 공개함 공개키 암호화 방식 진행 과정 A가 웹 상에 공개된 'B의 공개키'를 이용해 평문을 암호화하여 ..
[네트워크] TCP & UDP
·
CS 지식/[네트워크]
TCP 연결 지향형 프로토콜로 신뢰성있는 데이터 전송을 보장 신뢰적인 연결방식 서버와 클라이언트의 함수 호출 순서가 중요 서버 : socket() 생성 → bind() 소켓 주소 할당 → listen() 연결 요청 대기 상태 → accept() 연결 허용 → read/write() 데이터 송수신 → close() 연결 종료 클라이언트 : socket() 생성 → connect() 연결 요청 → read/write() 데이터 송수신 → close() 연결 종료 서버와 클라이언트의 차이 클라이언트 소켓 생성 후 서버로 연결을 요청하는 과정에서 차이가 존재 서버는 listen() 호출 이후부터 연결 요청 대기 큐를 만들어 놓고, 그 이후에 클라이언트가 연결 요청을 할 수 있음 이때 서버가 바로 accept()..
[네트워크] TCP 3 way handshake & 4 way handshake
·
CS 지식/[네트워크]
연결을 성립하고 해제하는 과정 3 way handshake - 연결 성립 TCP는 정확한 전송을 보장해야 함 (SYN : 연결 요청 플래그 / ACK : 응답) 클라이언트가 서버에게 접속을 요청하는 SYN 패킷을 보냄 (sequence : x) 서버가 클라이언트 요청인 SYN(x)을 받고, 클라이언트로 받았다는 신호(요청을 수락한다는)인 ACK와 SYN이 설정된 패킷을 보냄 (sequence : y, ACK : x + 1) 클라이언트는 서버의 수락 응답인 ACK(x+1)와 SYN(y) 패킷을 받고, ACK(y+1)를 서버로 보냄 → 그러면 연결 성립 → 이렇게 3번의 통신이 완료되면 연결이 성립된다. (3번이라 3 way handshake인 것) 4 way handshake - 연결 해제 연결 성립 후,..
[네트워크] OSI 7계층
·
CS 지식/[네트워크]
프로토콜(Protocol) [네트워크에 연결된 컴퓨터들끼리 데이터를 주고 받을 수 있도록 미리 약속한 전송 규약 및 규칙] 서로 다른 시스템에 있는 개체 간에 성공적으로 데이터를 전송하는 통신 규약 7계층 구조로 정의 OSI 7계층 통신 접속에서 완료까지의 과정을 7단계로 정의한 국제 통신 표준 규약 송신 : 7계층 → 1계층 수신 : 1계층 → 7계층 7계층은 왜 나눌까? 통신이 일어나는 과정을 단계 별로 알 수 있고, 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문 1) 물리 (physical) Ex) 리피터, 케이블, 허브 등 단지 데이터 전기적인 신호만 변환해서 주고받는 기능을 진행하는 공간 즉, 데이터를 전송하는 역할만 진행 2) 데이터링크 (Data Link) Ex) 브릿지, 스위치..