HTTP
-
Proxy server 왜 사용하는가? :: 마이구미HTTP 2017. 4. 7. 18:02
이번 글은 Proxy server(프록시 서버) 의 What, Why, How 대해 다뤄본다.HTTP 완벽 가이드 서적을 참고하여 작성했다. 프록시 서버는 한 단어로 표현하고자 한다면, 중개자라고 표현할 수 있다.클라이언트와 서버 사이에 위치하여 HTTP 메시지를 정리하는 중개인처럼 동작한다. 클라이언트에서 볼 때 서버처럼 동작하면서 요청 메시지를 받고 응답 메시지를 돌려준다.서버에서 볼 때 클라이언트처럼 동작하면서 웹 요청 메시지를 보내고 응답 메시지를 받는다.얘기하고자하는 것은, 프록시는 서버이면서 동시에 클라이언트여야 한다. 그렇다면 왜 프록시를 사용하는가?프록시 서버는 실용적이고 유용한 것이라면 무슨 일이든 한다.보안을 개선하고, 성능을 높여주며, 비용을 절약한다.또한 중개인처럼 동작하기 때문에 ..
-
HTTP 커넥션 관리 :: 마이구미HTTP 2017. 3. 30. 17:14
이번 글은 HTTP 커넥션 관리에 대해 다뤄본다.HTTP 완벽 가이드 서적을 참고하여 작성한 글이다. 순차적인 트랜잭션 처리에 의한 지연커넥션 관리가 제대로 이루어지지 않으면 TCP 성능이 매우 안 좋아진다.예를 들어 3개의 이미지가 있는 웹페이지가 있다고 한다면,페이지를 보여주기 위해서는 네 개의 HTTP 트랜잭션이 만들어야 한다.(하나는 HTML, 나머지 세 개는 첨부되 이미지에 관련된 트랜잭션)*트랜잭션 - 요청 명령(클라이언트->서버)과 응답 결과(서버->클라이언트)로 구성 각 트랜잭션이 새로운 커넥션을 맺는데 발생하는 지연과 느린 시작 지연이 발생한다.느린 시작 지연 - TCP 커넥션은 시간이 지나면서 자체적으로 튜닝된다.처음에는 커넥션의 최대 속도를 제한하고 데이터가 성공적으로 전송됨에 따라 ..
-
URI vs URL vs URN :: 마이구미HTTP 2017. 3. 25. 17:43
이번 글은 URI, URL, URN 을 다뤄본다.URI와 URL은 아직도 많이 혼동되고 있다.우리는 대부분 URL이라는 표현을 하고 있다.우리가 보고 있고, 사용하고 있는 대부분이 사실 URL이기 때문이다. URI, URL, URN 개념URL의 한계(URN 나온 이유)URI URL 차이점 URI와 URL은 같다고 주장도 있고, 다르다는 주장도 있다.이러한 말들이 이번 글의 목적이기도하다. 먼저 URI, URL, URN에 대해 알아보자. 서버 리소스 이름은 통합 자원 식별자(uniform resource identifier) 혹은 URI라고 불린다.URI는 인터넷의 우편물 주소 같은 것으로, 정보 리소스를 고유하게 식별하고 위치를 지정할 수 있다.그리고 이 URI에는 두 가지 형태가 있는데 이것이, URL..
-
클라이언트 로그인 암호화 보안 :: 마이구미HTTP 2017. 1. 10. 21:30
이번 글은 로그인 암호화 관련 주제를 다뤄본다. 기본적으로 로그인을 하기위해서는 아이디와 패스워드를 입력한다.패스워드는 * 표시가 되어 노출되지 않는다.그렇기에 사용자는 당연히 패스워드가 안전하다고 생각한다. 로그인의 경우는 대부분 form이나 ajax를 통해 서버에 전송하게 구현되었다.단순히 http 프로토콜을 쓰고 있거나, http를 쓰면서도 암호화가 되어있지 않다면 서버에 요청하는 정보는 아래와 같이 노출된다. 보이는가? 개발자 도구에서 확인해본 결과, 입력한 패스워드 1234 그대로 노출되었다.데이터가 평문으로 전송되는 취약점으로 인해 스니핑과 같은 보안 위협을 받을 수 있다.이와 같은 웹 페이지가 현재 많이 존재한다. 트래픽이 높지 않고, 유명하지 않아서 보이지 않을 뿐이다. 해결 방안으로는 2..
-
헤더 정보 누출 보안 취약점 :: 마이구미HTTP 2017. 1. 9. 21:07
이번 글은 헤더에 노출되는 값들을 다뤄본다.헤더의 특정 정보들은 노출되면 보안 취약점으로 판단됨으로써, 조치 명령을 받을 수 있다.보안 취약점과 관련된 헤더의 Server와 X-Powered-By 정보에 대해 알아볼 것이다. 웹 페이지의 헤더 정보는 개발자 도구에서도 확인 가능하고, 프록시 툴에서도 확인할 수 있다. 위 이미지를 보면 특정 웹 페이지의 헤더 정보들을 볼 수 있다. Server : Microsoft-IIS/7.0X-Powered-By: PHP/5.5.30Server는 서버의 종류이자 버전이다.X-Powered-By는 어떤 기술로 개발되었는 것이라고 생각하면 된다. 보안을 위협하는 입장에서는 위의 서버의 정보들을 활용해서 서버에 해당하는 취약점들을 더 확실히 알고 보안을 위협할 수 있게 해주..
-
htaccess vs header 리다이렉트 :: 마이구미HTTP 2016. 12. 9. 19:30
이번 글의 주제는 "htaccess vs header" 이다.무슨 의미인지 잘 이해가 안갈 수 있다.리다이렉트를 중점으로 다룰 것이다.리다이렉트는 누구나 사용하고 있지만 대수롭게 여기지 않고 있다.한번 자세히 알아보자. 리다이렉트에 대해서의 고민은 너무나 광범위하다.아래와 같은 고민이 있을 수도 있다. http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040201&docId=265195108&page=1#answer1 위 고민은 처음 들어오는 페이지가 있는데 바로 리다이렉트를 시켜서 진짜 페이지를 보여준다.이 경우 meta를 어느 페이지에 설정해야할 지 고민한다.고민하는 이유는 검색봇이 어떤 페이지의 정보를 긁어갈 지 모르기 때문이다.봇마다 다르지만 왠만하면 리다이..
-
CDN vs Cache 무엇이 효율적인가? :: 마이구미HTTP 2016. 12. 4. 22:29
이번 글의 주제는 'CDN Server' 에 대해서 다룰 것이다. 제목은 'CDN vs Cache 무엇이 효율적인가?' 인 것을 볼 수 있지만, 일단 CDN에 대해 먼저 알아보자. CDN이라는 말은 한번쯤은 들어봤을거라 생각한다. 위키의 정의를 일단 보자.콘텐츠 전송 네트워크(Content delivery network 또는 content distribution network (CDN))는 콘텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장하여 제공하는 시스템을 말한다. 효율적이다? 그러니까 많이 사용해서 한번쯤은 들어봤겠지? 정의만으로는 사실상 이해하기 힘들다. 아래 그림을 보자. 위 그림을 보면 CDN 여부에 따른 차이를 보여주고 있다. 왼쪽 그림을 보면 content가 다이..