728x90
반응형

ALL 634

Socket, Web Socket 란?

정의 소켓(Socket) : 네트워크상에서 동작하는 프로그램 간 통신의 종착점. 1대1 통신의 경우 양 측다 소켓이 존재해야 통신이 가능하다. 현재 대부분의 통신은 인터넷 프로토콜(TCP, UDP)에 기반하고 있으므로 대부분의 네트워크 소켓은 인터넷 소켓이다. 웹 소켓(Web Socket) : 웹소켓은 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜이다. 그리고 HTTP나 HTTPS 위에서 동작하도록 설계되었으며, 따라서 포트는 80번 혹은 443번이다. HTTP 프로토콜과 구별은 되지만 호환이 된다. 기본적으로 HTTP의 통신 포트는 80번, HTTPS는 443번이다. 차이점 동작 계층 : OSI 7계층 기준으로 소켓은 인터넷 프로토콜에 기반하므로 TCP, UDP가 속한 4계층에..

개인 공부 2022.12.16

SSL / TLS

HTTPS HTTPS와 HTTP HTTP(Hypertext Transfer Protocol)은 HyperText인 html을 전송하기 위한 통신규약을 의미한다. 마지막에 S를 붙인다면 Secure라는 뜻으로 보안이 강화된 통신규약을 의미한다. HTTP는 암호화가 되어있지 않은 방법으로 서버에 데이터를 전송하기 때문에 서버와 클라이언트가 서로 주고받는 메시지를 알아내기가 쉽다. 그러므로 서버로 비밀번호나 계좌번호 등 중요한 데이터를 서버로 전송할 경우에는 HTTPS 프로토콜을 사용하여 통신하는 것이 중요하다. HTTPS와 SSL HTTPS는 SSL 프로토콜을 기반으로 돌아가는 프로토콜 중 하나다. SSL SSL 정의 Secure Sockets Layer은 암호규약이다.( 과거 명칭: 보안 소켓 레이어/Se..

개인 공부 2022.12.15

TCP/IP 소켓 통신 과정

TCP/IP 소켓 통신 TCP/IP 소켓통신 과정 설명 클라이언트 소켓과 서버 소켓으로 구분되어짐 클라이언트 소켓 통신 과정 [1. 소켓을 생성] 클라이언트와 특정 서버와 통신을 하기 위해서는 운영체제에 socket() 시스템콜을 통해 소켓을 생성함 [2. 소켓을 연결] connect() 시스템 콜을 호출하여 서버와 클라이언트간 연결 함 3 way handshake 방식을 사용해서 연결 함 (3 way handshake 란?) 1) 클라이언트는 서버에게 연결요청의 SYN이라는 비트 1을 만들어 TCP 헤더 정보를 설정하고 보냄. 2) 서버는 받은 페킷을 기반으로 수신처 포트번호에 대항하는 소켓을 찾고 거기에 해당 클라이언트에 대한 정보를 저장. 3) 서버도 SYN 비트를 만들고 정상적으로 처리했다는것을 ..

개인 공부 2022.12.15

HTTP, Socket 통신의 차이

일반적으로 휴대폰, 컴퓨터 등에서 필요로 하는 데이터들은 Server에서 받아온다. 네트워크를 통해 서버로부터 데이터를 가져오기 위한 통신으로는 크게 HTTP 통신과 Socket 통신 2가지가 있다. 오늘은 이 2가지 통신에 대해 알아보자. HTTP(HyperText Transfer Protocol) 하이퍼 텍스트를 주고 받기 위한 규칙(통신 규약)을 말한다. 하이퍼 텍스트란 연결 고리를 통해 다른 문서로 접근할 수 있는 텍스트를 말한다. HTML의 를 떠올리면 이해하기 쉽다. HTTP라는 통신 규칙을 만든 것은 좋은데, 정작 하이퍼 텍스트를 보기좋게 표현할 방법이 없었다. 누구든 동일한 방법으로 하이퍼 텍스트를 표현할 방법이 필요했다. 이에 팀 버너스리는 인터넷 기반의 하이퍼 텍스트 작성을 위한 방법들..

개인 공부 2022.12.15

2차원 배열 4배수

public void extend2dArray(int tmpMulti){ //tmpMulti 배수 int [][] data = { {1,2,3}, {4,5,6}, {7,8,9}, {10,11,12} }; int col = 3; // 복사할 배열의 col 수 int row = 4; // 복사할 배열의 row 수 // 결과 배열. int [][] resultArray = new int[4*tmpMulti][3*tmpMulti]; for ( int j = 0 ; j < col ;j++){ int tmpj = j*tmpMulti; for (int k = 0 ; k < row ; k++){ int tmp = k*tmpMulti; // 4배수로 작성됨 // 다른 배수일 경우 수정필요 resultArray[tmpj]..

JAVA 2022.12.14
728x90
반응형