본문 바로가기

분류 전체보기103

[네트워크] HTTP vs HTTPS HTTP (HyperText Transfer Protocol) 인터넷 상에서 클라이언트와 서버가 자원을 주고 받을 때 쓰는 통신 규약으로 비연결성 프로토콜이다. REQUEST에 대한 RESPONSE만 전달이 되고 연결을 유지하지 않는다. 이러한 비연결성을 해결하기 위해 Cookie에 클라이언트에 대한 정보를 저장해뒀다가 사용하거나 Session을 등록해서 유지하는 방식으로 많이쓴다. HTTP 문제점 텍스트 교환으로 누군가 네트워크에서 신호를 가로채면 내용이 노출되는 보안 이슈가 존재한다. HTTPS (HyperText Transfer Protocol) HTTP + SSL 방식으로 HTTP로 통신하는 소켓을 SSL로 대체한 것이다. HTTP는 TCP와 직접 통신하지만, HTTPS에서는 SSL or TLS과.. 2021. 8. 30.
[네트워크] HTTP 메서드 HTTP 메서드는 크게 GET, POST, PUT, DELETE가 대표적이다. 보통 CRUD에서 GET은 조회, POST는 요청, PUT은 수정, DELETE는 삭제를 담당한다 GET 주로 데이터를 읽거나 검색할 때 사용된다. GET방식은 Header에 데이터를 추가하여 전송하며, URL에 데이터가 노출되므로 보안적으로 중요한 데이터를 포함하면 안된다. 또한, 캐싱이 가능하여 같은 데이터를 한번 더 조회할 경우에 저장한 값을 사용하여 조회 속도가 빨라진다. POST 주로 새로운 리소스를 생성할 때 사용된다. POST방식은 URL이 아닌 Body를 통해 데이터를 전송하며, URL에 데이터가 노출되진 않기 때문에 GET보다 안전하다. PUT 주로 리소스를 수정할 때 사용된다. 또다른 HTTP 메소드인 PAT.. 2021. 8. 30.
[네트워크] TCP vs UDP UDP (User Datagram Protocol) - 신뢰성이 낮고 비연결형 서비스를 제공 - 오류 제어, 흐름 제어, 혼잡제어를 모두 하지 않음 - 데이터의 전송순서가 바뀔 수 있음 - TCP와 비교시 속도 매우 빠름 - 헤더가 8Byte로 매우 작음 - RIP과 같은 경로 갱신 프로토콜에 사용 TCP (Transmission Control Protocol) - 높은 신뢰성을 보장하고 연결형 서비스를 제공 - 오류 제어, 흐름 제어, 혼잡제어를 함 - 데이터의 전송순서가 바뀌지 않음 - 속도가 느림 - 헤더가 20Byte로 큼. 헤더는 신뢰적 통신을 보장하는 Sequence number와 ACK로 구성. - 3-way handshaking을 통해 신뢰성 있는 연결 보장 3-way Handshaking.. 2021. 8. 30.
[네트워크] OSI 7계층 및 TCP/IP 프로토콜 OSI 7계층 네트워크에서 통신이 일어나는 과정을 7단계로 표현한 것이다. 7계층으로 나눈 이유는 통신의 흐름을 쉽게 알아볼 수 있고, 특정 계층에 오류가 나면 다른 단계를 건드릴 필요 없이 해당 계층만 고칠 수 있기 때문이다. 물리 → 데이터 링크 → 네트워크 → 전송 → 세션 → 표현 → 응용 계층 순이다. Summary 7 계층(응용 계층) : 사용자와 직접 상호작용하는 응용 프로그램들이 포함된 계층 6 계층(표현 계층) : 데이터의 형식(Format)을 정의하는 계층 5 계층(세션 계층) : 컴퓨터끼리 통신을 하기 위해 세션을 만드는 계층 4 계층(전송 계층) : 최종 수신 프로세스로 데이터의 전송을 담당하는 계층 3 계층(네트워크 계층) : 패킷을 목적지까지 가장 빠른 길로 전송하기 위한 계층 .. 2021. 8. 30.
[백준] 14503번 : 로봇 청소기 (C++) (삼성 SW역량 기출) https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 삼성 SW역량 기출문제로 오랜만에 다시 풀어보았다. 많이 나오는 구현 문제이다! 설명은 주석으로 대체 :) #include using namespace std; int N, M; int R, C, D; int map[50][50]; int dx[4] = { -1,0,1,0 }; //0:북, 1:동, 2:남 , 3:서 int dy[4] = { 0,1,0,-1 }; int cnt = 0; //청소 .. 2021. 8. 30.
[백준] 2470번 : 두 용액 (C++) https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 정렬 및 이분탐색 문제이다. 숫자 범위가 -10억~10억 이므로, 두개의 숫자를 합쳐도 20억을 넘어가지 않기 때문에 long long 이 아닌 int로 해결하였다. 숫자를 먼저 오름차순으로 정렬하고, 왼쪽 포인터는 0 오른쪽 포인터는 N-1부터 시작하였다. L> N; for (int i = 0; i > n; v.push_back(n).. 2021. 8. 30.