코딩은 주댕이로/인터넷
-
[HTTP] 웹서버와 HTTP. (프록시, 게이트웨이, 가상호스트)코딩은 주댕이로/인터넷 2017. 5. 12. 01:24
웹서버와 HTTP는 뗄 수 없는 관계에 있다.브라우저상에서 일어나는 대부분의 HTTP리퀘스트가 웹서버로 전달되고 있다. 그럼 학부시절, 교수님이 분명히 알려주었지만 절대로 귀담아 듣지 않았던 프록시와 게이트웨이에 대해서 간단히 짚어보자.프록시와 게이트웨이 둘의 공통점은 클라이언트와 서버의 중계 역할을 한다는 것이다. 하지만 용도와 역할이 조금 다르다. 프록시(Proxy)프록시 서버의 기본적인 동작은 클라이언트로부터 전달받은 리퀘스트를 서버로 전달하고, 서버에서 받은 응답을 클라이언트에 전달하는 역할을 한다.그렇다면, 왜 프록시를 두고 중계를 하는것일까? 프록시의 사용 목적은 네트워크 캐싱, 조직내의 특정 웹사이트 액세스 방지, 액세스 로그 획득 등이 있다.프록시의 사용방법은 크게 2개의 기준으로 분류된다..
-
[HTTP] HTTP메시지와 HTTP엔티티코딩은 주댕이로/인터넷 2017. 4. 24. 22:50
HTTP통신은 메시지 교환을 통해 이루어진다.예를 들어, www.naver.com/을 브라우저에 요청하면 www.naver.com/에 있는 리소스를 요청하는 메시지를 네이버 서버에 전달하게 되는 것이다. 이 메시지를 받은 네이버 서버에서는 네이버 메인.html을 HTTP Response 메시지에 담아 보내는 것이다. HTTP메시지는 헤더와 바디로 구성된다. 헤더와 바디는 개행문자(blank line)으로 구분한다.즉,메시지 헤더 개행문자(CR+LF) 메시지 바디 이 모양을 갖게 된다. Request, Response메시지 모두 형식은 동일하다. 리퀘스트 라인리퀘스트에 사용하는 메소드와 리퀘스트 URI와 사용하는 HTTP버전이 포함 상태라인HTTP Status, HTTP버전이 포함 헤더 필드HTTP통신에 ..
-
[HTTP] Status Code를 알아보자코딩은 주댕이로/인터넷 2017. 4. 15. 04:55
HTTP Response에는 Status code가 존재한다.클라이언트의 Request가 어떻게 처리 되었는지를 간단히 알려주는 코드입니다. "200, OK"처럼 숫자와 설명으로 이루어지는데 이에 대해서 간단히 알아보도록 할게요.200처럼 Status code는 3자리 숫자로 이루어져있고, 크게 5가지 종류가 정의되어 있습니다.RFC스펙을 따른다면 커스텀한 Status code를 만들 수도 있습니다만, 이건 제 관심밖입니다. 클래스 설명 1xx Informational 리퀘스트를 받아들여 처리중 2xx Success 리퀘스트를 정상적으로 처리했음 3xx Redirection 리퀘스트를 완료하기 위해서 추가 동작이 필요 4xx Client error 클라이언트에서 발생한 에러로 리퀘스트 처리 불가 5xx ..
-
[HTTP] 쿠키를 왜 쓰는거죠?코딩은 주댕이로/인터넷 2017. 3. 27. 21:56
HTTP는 Stateless 프로토콜입니다. 즉, 하나하나의 HTTP통신은 이전 통신의 결과와는 전혀 무관한 독립적인 통신을 하게 되는 것입니다. 하지만 로그인과 같은 인증이 필요한 경우를 생각해봅시다.인증이 필요한 HTTP통신을 할 때마다, 인증에 필요한 작업을 해주어야 할까요?Stateless 프로토콜의 특징을 생각해보면.. 해주는 것이 맞는 것 같습니다. 페이지를 이동할 때마다 아이디와 패스워드를 요구하겠네요.이건 말도 안되는 상황입니다. 이런 경우를 해결하기 위해 쿠키라는 시스템이 도입되었습니다.쿠키는 서버가 Response로 내려주는 데이터 중 하나입니다. 클라이언트가 Request를 보내면 서버가 해당 Request의 Reponse에 쿠키를 설정할 수 있습니다.쿠키발급이 필요한 Response..
-
[HTTP] HTTP의 method코딩은 주댕이로/인터넷 2017. 3. 24. 16:57
많은 사람들이 HTTP의 GET, POST에 대해서 알고 있을 것이다.이에 대해서 간단히 정리한다. GET같이 입력된 URI에 있는 자료를 요청한다. 요청한 자료가 html문서와 같은 텍스트 기반이라면 텍스트 그대로 response를 받게 되고, .cgi과 같은 프로그램이라면 해당 프로그램의 수행 결과에 대한 response를 받게 된다. HEADGET과 동일하지만 body를 제외한 head영역만 받는다.이 head에는 최근 수정 시간 등에 대한 meta data가 포함되겠지? POSTGET과 유사하지만, 목적에서 조금 차이를 찾아보자면POST에 특정한 작업을 요구한다. GET에서는 특정 리소스를 요청한 것이라면 POST는 특정한 작업을 요청하는 것이다. PUT서버에 파일을 심어두기 위한 메소드이다.보통..
-
[TCP/IP] HTTP 학습에 필요한 IP, ARP, TCP를 짚고 넘어가보자.코딩은 주댕이로/인터넷 2017. 3. 21. 00:17
HTTP를 학습하기 위해서는 배경지식이 꽤 필요하다.OSI 계층도가 대표적일텐데 그 중에서도 중요도가 높은 IP, ARP, TCP에 대해서 짚어보자. 1. IP (Internet Protocol), ARP (Address Resolution Protocol)IP는 송신자가 수신자에게 패킷을 전달하는 역할 그 자체를 한다. 즉, IP는 클라이언트에서 서버로의 패킷 전달을 책임진다. 송신자와 수신자간의 거리가 멀기 때문에 라우터의 도움을 받아야한다.송신자에서 출발한 패킷은 여러 대의 라우터를 거쳐 수신자에게 도착하게 되는 것이다. 송신자는 수신자의 IP주소만 알고 있지, 라우터들의 주소를 알지 못한다. 라우터의 주소를 파악하기 위해 사용되는 것이 바로 ARP이다. ARP는 수신자의 주소를 기반으로 가장 적절..
-
[REST API] Query Param vs Path Param 뭐가 더 좋을까?코딩은 주댕이로/인터넷 2017. 2. 22. 02:34
물론 경우에 따라 뭐가 더 좋은지 나눌 수 있겠다. 1. 옵셔널한 값이 있다면 Query param2. Not found시, 404에러를 내려주길 원한다면 Path param3. Not found시, 특정한 값을 내려주길 원한다면 Query param 다른 경우는 http://stackoverflow.com/questions/4024271/rest-api-best-practices-where-to-put-parameters 를 참고
-
네이버 날씨는 어디서 정보를 가져올까? 네이버날씨API는?코딩은 주댕이로/인터넷 2016. 5. 6. 23:34
결론부터 말하면 네이버는 날씨API를 제공하지 않고 있다.네이버가 관측을 안하니깐 당연한건가 싶기도 하고.. 네이버 날씨 페이지를 들어가면 웨더아이, 케이웨더에서 날씨 정보를 받고 있다고 한다.둘 다 들어가본 결과.. 1. 웨더아이 - https://www.weatheri.co.kr/ 얘네는 무료로 제공하지는 않는듯... 데이터는 제일 좋아보이는데 .. 2. 케이웨더 - http://api.kweather.co.kr/apiguide/present.html여긴 무료도 제공하는데, 데이터의 질이 웨더아이보다는 좀 떨어지는 기분임.. 3. 난 SK플래닛거 쓸래.. http://rhammer.tistory.com/124