전체 글 56

[Web] HTTP와 HTTPS(HTTP Secure), SSL/TLS, 핸드셰이크

서버와 클라이언트 간의 웹 통신에서는 통신 프로토콜로 HTTP(HyperText Transfer Protocol)가 주로 사용된다. HTTP는 클라이언트가 서버에게 요청을 보내고, 서버가 클라이언트에게 요청에 대한 응답을 보내는 데 사용되며, 이를 통해 웹 페이지의 요청과 응답이 이루어진다. HTTP 프로토콜은 요청과 응답이라는 두 가지 주요한 메시지 형식을 사용한다. 클라이언트는 요청 메시지를 생성하여 서버에게 보내고, 서버는 해당 요청에 대한 응답 메시지를 생성하여 클라이언트에게 보낸다. 이러한 요청과 응답 메시지는 특정한 구조와 규칙에 따라야 하는데 여기서 중요한 점은 클라이언트와 서버가 동일한 프로토콜을 사용하여 통신해야 한다는 점이다. 즉, 클라이언트가 HTTP를 사용하여 요청을 보내면, 서버는..

Web/Network 2024.01.30

[Web] 웹 브라우저의 역할, 정적 문서와 동적 문서, JSON

2024.01.28 - [Web] - [Web] 웹 서버와 웹 브라우저의 통신 : HTTP, DNS, 라우터 [Web] 웹 서버와 웹 브라우저의 통신 : HTTP, DNS, 라우터 우리가 일상에서 가장 자주 접하는 클라이언트는 구글 크롬과 같은 웹 브라우저일 것이다. 정확히 말하면, 웹 서버에 접속할 수 있는 웹 브라우저로, HTTP라는 프로토콜을 통해 클라이언트(웹 브 bio-logisch.tistory.com 앞서 구글 웹 서버에 접속하는 과정을 살펴 보았고, 이번 글에는 서버와 클라이언트의 통신과정에서 웹 브라우저의 역할과 요청, 응답이라는 용어에 대해 조금 더 상세히 살펴보고자 한다. 웹 브라우저는 웹 서버 애플리케이션으로부터 전달받은 HTML 문서뿐만 아니라 이미지, 동영상 파일 등 다양한 요소..

Web/Library, API 2024.01.28

[Web] 웹 서버와 웹 브라우저의 통신 : HTTP, DNS, 라우터

우리가 일상에서 가장 자주 접하는 클라이언트는 구글 크롬과 같은 웹 브라우저일 것이다. 정확히 말하면, 웹 서버에 접속할 수 있는 웹 브라우저로, HTTP라는 프로토콜을 통해 클라이언트(웹 브라우저)와 웹 서버가 서로 통신한다. 그렇다면 구체적으로 어떻게 통신하는 것인지 살펴보자. 먼저 구글에 접속해본다고 상황을 가정해보면, 보통 www.google.com 라는 구글의 도메인 네임을 통해 접속한다. 구글 웹 서버의 IP 주소를 알아내서 접속하지 않는다. 하지만 서버의 위치를 정확히 알아내서 접속하려면 IP주소와 포트번호가 필수적으로 필요하다고 했었는데, 구글 도메인 네임만으로 어떻게 접속이 가능했던 걸까? 그 사이에는 DNS(Domain Name System)이 있었기에 가능했다. 클라이언트가 구글 서버..

Web/Network 2024.01.28

[SQL] SQL과 RDBMS (관계형 DBMS), DBMS 유형 정리

SQL(Structured Query Language)은 "구조화된 질의 언어"라는 의미를 가진다. 관계형 데이터베이스에서 데이터를 관리하고 처리하기 위한 표준화된 언어를 말한다. SQL은 데이터베이스 시스템에 쿼리를 전달하여 데이터를 조회, 삽입, 수정, 삭제하는 등의 작업을 수행한다. 1980년대 후반 국제표준화기구(ISO)와 미국국립표준협회(ANSI)에서 RDBMS의 표준 언어로 SQL을 채택했다. 표준이란 의미는 '표준' SQL 구문만 학습하면 Oracle은 물론 MSSQL, DB2 등 여러 DBMS에서 동일하게 사용할 수 있다는 의미이다. 물론 각각의 DBMS별로 차이점을 가지고 있지만 다른 프로그래밍 언어에 비해 그 차이는 적은 편이기 때문에 SQL을 한 번만 학습하면 DBMS에 구애되지 않고..

DB/SQL - Oracle 2024.01.28

[SQL] 문자(열) 데이터 타입 - char, varchar, varchar2

char, varchar, varchar2는 데이터베이스에서 문자(열)을 저장하는 데 사용되는 데이터 속성이다. 문자형 데이터라고도 말한다. 세 가지 모두 ANSI SQL 표준에 따라 정의된 데이터 유형으로 주로 SQL 데이터베이스 시스템에서 사용된다. 문자(열) 데이터 타입에는 위 3가지 말고도 nchar, nvarchar2, long이 있는데 자주 사용하지 않으므로 이번 글에서는 생략하고자 한다. 먼저 알아둘 점은 한글은 한 글자당 2byte, 영문과 숫자는 한 글자당 1byte를 차지한다는 점이다. (참고로 UTF-8에서 한글은 한 글자당 3byte를 차지한다.) 문자열을 DB에 저장할 때는 위 3가지의 속성의 특징과 더불어 정의된 필드에 최대 몇 바이트까지 저장 가능하도록 정의하는 것이 적절한지 ..

DB/SQL - Oracle 2024.01.21

[Web] 웹 개발의 시작 - client와 server의 개념

처음 웹 개발을 접하게 되면 가장 먼저 client와 server에 대해 배우게 될 것이다. 위 구성도는 웹 개발에 대한 큰 흐름을 아주아주 요약된 버전으로 보여준 것인데, 웹 개발을 어느 정도 공부하고 나니 이 흐름에 대해 계속해서 생각하는 것이 개발에 있어서 얼마나 중요한지 새삼 깨닫게 된다. 위 이미지를 토대로 웹 통신과정을 클라이언트와 서버 개념을 활용하여 설명해보면, client가 기본동작을 통해 요청(request)하면 server에서 이를 처리하고 데이터를 DataBase에 저장하고 ​client의 요청에 대해 응답(response)한다. 이때 client는 웹 브라우저를 사용한다. 정도로 설명해볼 수 있겠다. 여기서 데이터베이스(DataBase)는 데이터를 저장하고 관리하는 역할을 담당한다..

Web/Basic 2024.01.21