CategoryLearn Programming/HTTP Basic (17)

16. RESTful이란?

REST란?REpresentational State Transfer의 약자입니다.이것은 장비간 통신을 위해 CORBA, RPC, SOAP등의 복잡한 방법을 사용하는 대신, 간단하게 HTTP를 이용하는 것이 목적입니다.REST는 자원 지향 구조(Resource Oriented Architecture)로 웹 사이트의 이미지, 텍스트, DB 내용 등의 모든 자원에 고유한 URI를 부여합니다.이 용어는 로이 필딩(Roy Fielding)의 2000년 박사학..

15. JSON이란?

JSON?JavaScript Object Notation의 줄임말입니다.경량 데이터 기술 언어로써 JavaScript(ECMAScript)에 오브젝트 표기법을 바탕으로 하고 있습니다.다룰수 있는 데이터형falsetruenull오브젝트배열수치문자열7가지 입니다.어떤식으로 사용하나요키와 값으로 데이터를 가지고있는 딕셔너리(Dictionary)데이터를 배열로 들고있는 리스트(List)두가지 방식으로 사용가능하며 두가지를 자유롭게 조합하여 사용할 수도 있습..

14. 웹공격 기술

웹 공격 기술HTTP자체는 보안 상의 문제가 일어날 정도로 복잡한 프로토콜은 아닙니다. 그러므로 프로토콜 자체는 공격 대상이 되는 경우는 없습니다.문제는 서버와 클라이언트 그리고 서버 상에서 동작하는 웹 애플리케이션 등의 리소스입니다이번 포스트에서는 웹 애플리케이션 공격에 대한 내용을 설명합니다.보안기능이 없는 HTTP위에서도 적었듯이 HTTP는 구조가 단순한 프로토콜 입니다. 만들 당시에도 이렇게까지 쓰일줄은 몰랐을 것 입니다 :)그렇기 ..

13. Web Application - 웹 애플리케이션 / CGI / Servlet

Web Application - 웹 어플리케이션웹 애플리케이션이란?웹을 사용해서 기능을 제공하는 것을 웹 애플리케이션이라고 합니다.- 쇼핑사이트 - 인터넷 뱅킹 - SNS - 게시판 - 검색엔진 - e-러닝 대충 훑어봐도 위와같은 다양한 웹 애플리케이션이 있습니다.왜 등장하게 된걸까본래 HTTP를 사용한 웹 구조는 사전에 준비된 콘텐츠를 클라이언트의 리퀘스트에 맞게 반환하는 것 입니다.그러나 웹 보급후 이것만으로 부족하여 프로그램이 HTML 등의 콘..

12. HTML / CSS

HTMLHTML이란?Hyper Text Markup Language의 약자이며 WWW 문서를 작성하는 Markup Language입니다.하이퍼 텍스트(Hyper Text)란 하나의 문서(Text)로 두는 것이 아닌 문서와 문서를 상호 연결하여 접근 방식을 다양화 시킨 문서를 의미합니다.HTML은 여러 태그로 구성되어 있으며, 각 태그를 사용하여 원하는 문서를 만들 수 있습니다.태그란?Tag태그란 정보를 정의하는 형식입니다.컨텐츠를 감싸서 그 정보의 ..

11. HTTP를 이용한 인증방식 - BASIC, DIGEST, SSL, FORM

HTTP 인증컴퓨터는 모니터 앞에 사람이 누구인지 알 수가 없습니다.그렇기 때문에 아래의 요소들을 이용하여 인증을 사용하고 있습니다패스워드 : 본인만이 알고 있는 문자열 원타임 토큰 : 본인만이 가지고 있는 기기 등에 표시되는 한 번 쓰고 버리는 패스워드 등의 정보 전자 증명서 : 본인(단말기)이 가지고 있는 정보 바이오 매트릭스 : 지문이나 홍채 등 본인의 신체정보 IC 카드 등 : 본인만이 가지고 있는 정보 HTTP에서 사용하는 인증 방법HTTP..

10. HTTPS란?

HTTPS란?HTTP 프로토콜은 위장이나 도난등의 보안문제가 발생할 수 있습니다.이런 문제를 방지해주는 HTTPS에 대해 알아봅시다.HTTP의 약점HTTP는 주로 다음과 같은 약점을 가지고 있습니다.평문(암호화 하지 않은) 통신이기 때문에 도청이 가능하다. 통신 상대를 확인하지 않기 때문에 위장이 가능하다 완전성을 증명할 수 없기 때문에 변조가 가능하다 이 약점은 다른 암호화 하지 않는 프로토콜에도 공통되는 문제입니다.변조를 방지하려면?HTTP를 사..

9. 캐시

캐시리소스를 보관하는 캐시캐시는 프록시 서버와 클라이언트 로컬 디스크에 보관된 리소스 사본을 가리킵니다.캐시를 사용할 경우 리소스를 가진 서버에 액세스를 줄이는 것이 가능하기 때문에 통신량과 통신시간을 절약할 수 있습니다.캐시 서버는 프록시 서버의 하나로 캐싱 프록시로 분류됩니다.캐시는 유효기간이 있다.유효기간이 있기때문에 같은 리소스의 리퀘스트에 대해서 항상 캐시를 돌려준다고 할 수 없습니다.서버에서 갱신된 리소스가 있을 경우에 문제가 발생할 수 ..

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

통신을 중계하는 프로그램HTTP는 클라이언트와 서버 이외에도 프록시, 게이트웨이, 터널과 같은 통신을 중계하는 프로그램과 서버를 연계하는 것도 가능합니다.이런 프로그램과 서버는 그 다음에 있는 다른 서버에 리퀘스트를 중계하고, 그 서버로부터 받은 리스폰스를 클라이언트에 반환하는 역할을 담당합니다.프록시서버와 클라이언트 양쪽 역할을 하는 중계프로그램클라이언트로 부터 받은 리퀘스트를 서버에 전송합니다.반대로 서버로부터 받은 리스폰스도 클라이언트에 전송 ..

7. HTTP 상태코드

상태코드란?요청한 정보에 대한 상태확인을 할 수 있습니다.내가 보낸 리퀘스트를 서버에서 정상적으로 처리 했는지, 에러였는지 알 수 있습니다.상태코드 클래스클래스설명1xxInformational리퀘스트를 받아들여 처리중2xxSuccess리퀘스트를 정상적으로 처리했음3xxRedirection리퀘스트를 완료하기 위해서 추가동작이 필요4xxClient Error서버는 리퀘스트 이해 불가능5xxServer Error서버는 리퀘스트 처리1xx1xx : 안내코드..

6. HTTP 메소드

HTTP 메소드란서버에 임무를 부여서버에 임무를 부여 할 수 있습니다.주어진 메소드에 해당하는 일을 한다고 생각하면 됩니다.클라이언트에 지시를 내림클라이언트에서 리퀘스트 전달 시 메소드에따른 지시를 내릴수 있습니다.이는 서버에서 부여한 임무에 해당할 경우 동작합니다.HTTP메소드의 종류메소드설명GET리소스 취득POST엔티티 바디 전송PUT파일 전송HEAD메시지 헤더 취득DELETE파일 삭제OPTIONS서포트하고 있는 메소드 문의TRACE경로 조사CO..

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

HTTP 프로토콜HTTP의 클라이언트-서버 통신TCP/IP에 다른 프로토콜과 마찬가지로 HTTP도 클라이언트와 서버간에 통신을 합니다.텍스트나 이미지등을 요청하는 쪽이 클라이언트가 되며, 이런 리소스를 제공하는 쪽이 서버가 됩니다.리퀘스트와 리스폰스를 교환하여 통신클라이언트를 리퀘스트를 송신하게 됩니다.리퀘스트를 받은 서버는 리스폰스를 클라이언트에게 돌려줍니다.서버측은 리퀘스트를 받지않고서 리스폰스를 송신하는 일이 없습니다.HTTP는 상태유지를 하지..