10. HTTPS란?

HTTPS란?HTTP 프로토콜은 위장이나 도난등의 보안문제가 발생할 수 있습니다. 이런 문제를 방지해주는 HTTPS에 대해 알아봅시다.HTTP의 약점HTTP는 주로 다음과 같은 약점을 가지고 있습니다.평문(암호화 하지 않은) 통신이기 때문에 도청이 가능하다. 통신 상대를 확인하지 않기 때문에 위장이 가능하다 완전성을 증명할 수 없기 때문에 변조가 가능하다 이 약점은 다른 암호화 하지 않는 프로토콜에도 공통되는 문제입니다.변조를 방지하려면?HTTP를 사용하여 안전성을 확인하는 방법은 있으나 확실하거나 편리한 방법이 현재 존재하지 않습니다. 그중에도 자주 사용되는 방법으로는 MD5나 SHA-1 등의 해시 값을 이용하는 방법과 파일의 디지털 서명을 확인하는 방법이 있습니다. 허나 MD5 등이 적절하게 수정되어..

9. 캐시

캐시리소스를 보관하는 캐시캐시는 프록시 서버와 클라이언트 로컬 디스크에 보관된 리소스 사본을 가리킵니다. 캐시를 사용할 경우 리소스를 가진 서버에 액세스를 줄이는 것이 가능하기 때문에 통신량과 통신시간을 절약할 수 있습니다.캐시 서버는 프록시 서버의 하나로 캐싱 프록시로 분류됩니다.캐시는 유효기간이 있다.유효기간이 있기때문에 같은 리소스의 리퀘스트에 대해서 항상 캐시를 돌려준다고 할 수 없습니다. 서버에서 갱신된 리소스가 있을 경우에 문제가 발생할 수 있기 때문입니다. 그래서 캐시를 가지고 있더라도 클라이언트의 요구나 캐시의 유효기간에 의해서 오리진 서버에 리소스의 유효성을 확인하거나 새로운 리소스를 다시 획득하러 가게 되는 경우가 있습니다.클라이언트 측에도 캐시가 있다.캐시 서버(프록시)에만 캐시를 가..

8. 프록시 / 게이트웨이 / 터널

통신을 중계하는 프로그램HTTP는 클라이언트와 서버 이외에도 프록시, 게이트웨이, 터널과 같은 통신을 중계하는 프로그램과 서버를 연계하는 것도 가능합니다. 이런 프로그램과 서버는 그 다음에 있는 다른 서버에 리퀘스트를 중계하고, 그 서버로부터 받은 리스폰스를 클라이언트에 반환하는 역할을 담당합니다.프록시서버와 클라이언트 양쪽 역할을 하는 중계프로그램 클라이언트로 부터 받은 리퀘스트를 서버에 전송합니다. 반대로 서버로부터 받은 리스폰스도 클라이언트에 전송 합니다. 중간 경유자입니다.게이트웨이다른 서버를 중계하는 서버입니다. 클라이언트로부터 수신한 리퀘스트를 리소스를 보유한 서버인 것 처럼 수신합니다. 경우에 따라 클라이언트는 상대가 게이트웨이라는것을 알지 못할 수도 있습니다.클라이언트와 게이트웨이 사이를 ..

7. HTTP 상태코드

상태코드란?요청한 정보에 대한 상태확인을 할 수 있습니다. 내가 보낸 리퀘스트를 서버에서 정상적으로 처리 했는지, 에러였는지 알 수 있습니다.상태코드 클래스클래스설명1xxInformational리퀘스트를 받아들여 처리중2xxSuccess리퀘스트를 정상적으로 처리했음3xxRedirection리퀘스트를 완료하기 위해서 추가동작이 필요4xxClient Error서버는 리퀘스트 이해 불가능5xxServer Error서버는 리퀘스트 처리1xx1xx : 안내코드 100 : CONTINUE 101 : SWITCHING_PROTOCOLS , 규약을 전환 102 : PROCESSING2xx 성공(Success)2xx : SUCCESS에 관한 코드 200 : OK , 성공적으로 요구를 전달하였음. 201 : CREATED..

6. HTTP 메소드

HTTP 메소드란서버에 임무를 부여서버에 임무를 부여 할 수 있습니다. 주어진 메소드에 해당하는 일을 한다고 생각하면 됩니다.클라이언트에 지시를 내림클라이언트에서 리퀘스트 전달 시 메소드에따른 지시를 내릴수 있습니다. 이는 서버에서 부여한 임무에 해당할 경우 동작합니다.HTTP메소드의 종류메소드설명GET리소스 취득POST엔티티 바디 전송PUT파일 전송HEAD메시지 헤더 취득DELETE파일 삭제OPTIONS서포트하고 있는 메소드 문의TRACE경로 조사CONNECT프록시에의 터널링 요구GET - 리소스 획득GET메소드는 리퀘스트 URI로 식별된 리소스를 가져올 수 있도록 요구합니다. 가져올 리소스 내용은 지정된 리소스를 서버가 해석한 결과입니다.POST - 엔티티 전송POST 메소드는 엔티티를 전송하기 위해..

5. HTTP 프로토콜 - 서버간의 통신/리퀘스트/리스폰스/쿠키

HTTP 프로토콜HTTP의 클라이언트-서버 통신TCP/IP에 다른 프로토콜과 마찬가지로 HTTP도 클라이언트와 서버간에 통신을 합니다. 텍스트나 이미지등을 요청하는 쪽이 클라이언트가 되며, 이런 리소스를 제공하는 쪽이 서버가 됩니다.리퀘스트와 리스폰스를 교환하여 통신클라이언트를 리퀘스트를 송신하게 됩니다. 리퀘스트를 받은 서버는 리스폰스를 클라이언트에게 돌려줍니다. 서버측은 리퀘스트를 받지않고서 리스폰스를 송신하는 일이 없습니다.HTTP는 상태유지를 하지 않는다.HTTP는 상태를 계속 유지하지 않는 Stateless 프로토콜 입니다. 즉 클라이언트,서버 모두 이전에 보냈던 리퀘스트나 이미 되돌려준 리스폰스에 대해서는 전혀 기억하지 않습니다. 새로운 리퀘스트가 보내질 때 마다 새로운 리스폰스가 생성됩니다...

4. URI / URL

URI와 URLURI보다 URL이 익숙하지 않으신가요? 웹 브라우저 등으로 웹 페이지를 표시하기 위해 입력하는 주소가 URL입니다. ex) http://sonim1.tistory.comURI는 리소스 식별자URI는 Uniform Resource Identifiers의 약자입니다. REF2396에서는 각각의 단어가 다음과 같이 정의되어 있다고 합니다.Uniform통일(Uniformity)된 서식을 결정하는 것입니다. 여러 가지 종류의 리소스 지정 방법을 같은 맥락에서 구별없이 취급할 수 있게 합니다. 또한 새로운 스키마 (http: 와 ftp등) 도입을 용이하게 합니다.Resource리소스 : 식별 가능한 모든 것 도큐먼트 파일 외에도 이미지, 서비스(ex - 일기예보) 등 다른 것과 구별할 수 있는 것은..

3. IP / TCP / DNS

IP , TCP , DNS에 대해서 알아봅시다배송을 담당하는 IPIP(Internet Protocol)는 앞서배운 TCP/IP의 계층 중 네트워크 층에 해당합니다. 간단하게 배송을 담당하는 프로토콜입니다. 실제 이름 그대로 인터넷을 활용하는 거의 대부분의 시스템이 IP를 이용하고 있습니다. TCP/IP의 명칭 일부가 될 정도로 중요한 프로토콜입니다.IP의 역할개개의 패킷을 상대방에게 전달합니다. 전달하기 까지 여러 요소가 필요합니다. 그중에서도 IP주소와 MAC주소라는 요소가 중요합니다. IP주소는 각 노드에 부여된 주소를 가리키고 MAC주소는 각 네트워크 카드에 할당된 고유의 주소입니다. IP 주소는 MAC 주소와 결부됩니다. IP주소는 변경가능하지만 기본적으로 MAC주소는 변경할 수 없습니다.통신은 ..

2. TCP/IP란?

TCP/IP란?TCP/IP는 프로토콜의 집함컴퓨터와 네트워크 기기가 상호간에 통신하기 위해서는 서로 같은 방법으로 통신하지 않으면 안됩니다. 어떻게 상대를 찾고, 어떻게 상대에게 이야기를 시작하고, 어떤 언어로 이야기하며 어떻게 이야기를 종료할까와 같은 규칙을 결정할 필요가 있습니다. 위와 같이 서로다른 하드웨어와 운영체제 등이 서로 통신을 하기위해 모든 요소에 규칙이 필요합니다. 이런 규칙을 프로토콜이라고 부릅니다.그런 규칙이 한두개 정도면 좋겠지만.. 프로토콜에는 여러가지가 있습니다. 케이블 규격, IP주소 지정 방법, 떨어진 상대를 찾기위한 방법, 도달 순서등이 그렇습니다.TCP/IP 계층이란?TCP/IP를 찾아보면 계층에 대한 설명이 빠지지 않습니다 그만큼 TCP/IP에서 중요한 개념중 하나가 계..

1. HTTP란?

HTTP란?HTTP?클라이언트에서 서버까지의 일련의 흐름을 결정하고 있는 것이 웹에서 HTTP(HyperText Transfer Protocol)이라 불리는 프로토콜입니다. 프로토콜이라는 의미는 “약속” 입니다. 웹은 HTTP라는 약속을 사용한 통신으로 이루어져 있습니다. 그중 HTTP프로토콜에 대해서 알아봅시다.HTTP의 등장배경Http는 웹의 지식공유를 위해 고안되었다1989년 3월에 최초의 인터넷이 태어났습니다. 체감하기 쉽게 얘기하자면 88올림픽 1년후 입니다. CERN(유럽 입자 물리학 연구소) 팀 버너스 리 박사가 멀리 떨어져있는 동료 연구자와 지식을 공용하게 할 수 있도록 시스템을 고안하였습니다.1990년대에 마찬가지로 CERN에서 세계 최초의 웹 서버와 웹 브라우저를 개발하였습니다.1993..

0. HTTP 기초 목차

사진HTML 기초 목차HTTP의 기초에 대해서 살펴봅니다.웹이라는 세계가 어떤 기술로 구성되어있는지 HTTP 관련지식들을 간단하게 정리해보았습니다.HTTP란?TCP/IPIP / TCP / DNSURI / URLHTTP 프로토콜HTTP 메소드HTTP 상태코드프록시 / 게이트웨이 / 터널캐시HTTPS란HTTP를 이용한 인증방식HTML / CSSWeb Application웹공격 기술JSONRESTful참고각종 Wiki HTTP 완벽 가이드 그림으로 배우는 Http Network Basic

행복한 프로그래밍

행복한 프로그래밍 컴퓨터 프로그래밍 미학 오디세이 - 임백준 지음 내가 책을 잘못 샀나? 이 책의 내용은 '프로그래밍'이라는 명사가 아니라 '행복한' 이라는 형용사에 중점을 두고 풀어나간다....위 문장은 책 서론에 나오는 문장이다. "형용사에 중점을 둔다고?" 대수롭지 않게 여기고 페이지를 넘겨 목차를 보니 이게 프로그래밍에 관련된 책인가 의아함이 생겼다. 챕터의 제목이 커피 이름과 9:00 등과 같이 시간으로 되어있는 것이다. 혼란스럽기 시작했다. 프로그래밍의 행복과 매력을 찾아서 고루하게 컴퓨터 프로그래밍의 미학을 설명하는 책이 아니라 독자-프로그래머-가 미학을 찾을 방법을 제시하는 책이다. 골치 아픈 수식이나 프로그램 소스코드를 최소화하고, 비교적 쉬운 비유를 많이 이용하여 부드러운 분위기를 유지..