전체 글 289

Base64 Encoding

이번에는 Base64 인코딩에 대해 한번 알아보겠음. 먼저 Base64를 공부하기전에, MIME이라는 개념을 알아야함. MIME 이란, Multipurpose Internet Mail Extensions 의 약자로, 이메일을 위한 인터넷 표준 포맷이다. 이메일은 7비트 ASCII 코드를 사용하여 전송하기 때문에, 8비트 이상의 코드를 사용하는 문자나 파일들은 MIME 포맷으로 변환되어 전송된다. (이메일 전송 프로토콜인 SMTP가 7비트 ASCII 문자만 지원하기 때문임.) 이 때 MIME 포맷으로 변환할 때 쓰이는 인코딩이 Base64 인코딩이다. 하는 방법은.. 연속된 텍스트나 바이너리 파일이 있다. 이 녀석들을 1바이트(8비트) 단위로 3개 씩 끊는다. 그럼 총 24비트 일거 아니가. 이거를 6비트..

HTML Encoding

HTML 인코딩에 대해 알아보자. HTML 문서 에서 특수 기능을 하는 문자들이 있다. 이 문자들을 안전하게 브라우저에 표현하기 위해 사용하는 인코딩이다. HTML 인코딩은 그니까, 쉽게 말하면 안전하게 -> 보안성을 높이기 위해 사용된다. HTML 인코딩에서는 특정한 문자들을 나타내기 위해 HTML 엔티티라는 것을 정의해 두었다. 예를 들어서. 위 표처럼 정의해 두기도 하였고.. 기본적으로 HTML 인코딩하는 방법은 문자들을 아스키 코드값으로 10진수나 16진수값으로 변환하여 인코딩 할 수도 있다. " (큰따움표) → " , " ' (작은따움표) → ' , ' 어때여 쉽죠?? 그리고 HTML 인코딩에 대해 하나더. 검색엔진에서 HTML 인코딩을 검색하면 XSS(Cross-site-scr..

URL Encoding

URL 인코딩에 대해 알아보겠음. 한번씩은 인터넷 서핑하면서 주소창을 볼것이다.(아닌가?) URL에는 US-ASCII의 문자들 중 출력이 가능한 문자들만 포함된다. 바로 URL 인코딩이 URL에 포함되는데 ASCII 코드로 표현이 불가능한 문자들이 안전하게 웹서버에 전달이 되도록 웹 브라우저에서 인코딩하는 것이다. 좀더 자세하게 설명하자면, URL에는 US-ASCII 즉, 영문만이 포함가능 하고 한국어를 포함한 다른 외국어들, ASCII에 정의되지 않은 특수문자들과 공백(Space), %, ?, #, 등은 URL에 포함될 수 없다. 그러므로 URL 인코딩을 해주어야 한다. 그럼 URL 인코딩은 어떤식으로 이루어질까. 위에서 언급한 케이스들을 %와 원래 문자열의 16진수값을 이용하여 표현한다. 그리고 아래..

ASCII Encoding

ASCII 인코딩 부터 알아보자. American Standard Code for Information Interchange 의 약자로, 영문 알파벳을 사용하는 대표적인 문자 인코딩 방법이다. 1Byte 중 7bit를 이용하여 127개의 문자를 표현한다. 아래는 아스키 코드표이다.. 그냥 이게 다다. 저 표에 있는대로 인코딩을 하는 것이다. ASCII 코드 같은 경우는.. 우리들이 쓰는 컴퓨터들은 0과 1밖에 인식하지 못하기에.. 그것들로 문자를 표현하기 위해 구현된 것이라고 이해하면 된다.

HTTP (Hyper Text Transfer Protocol)

이번에는 HTTP 프로토콜에 대해 한번 알아보자. HTTP란? Hyper Text Transfer Protocol의 약자로, 인터넷 상에서 웹 서버와 클라이언트가 통신할 때 필요한 프로토콜이다. TCP기반의 응용 계층 프로토콜으로 TCP 3 ways handshaking 과정을 통해 TCP 세션이 맺힌 상태에서 동작한다. 보통 TCP라 하면 연결 지향형을 떠올리는데, HTTP는 통신이 끝나면 바로 서버와 클라이언트의 접속이 끊긴다. 그래서 비연결 지향형이라고 함. 또한 HTTP는 암호화 되지않은 Plain text 즉, 평문 전송을 한다. 보안에 취약함. (그래서 HTTPS 라는게 나오는데 그거는 다음에 설명하겠음.) 한가지 더, HTTP 메세지는 단방향성 특징을 가지고 있다. 이말이 무슨 말이냐.. 서..

반응형