HTTP
-
[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는 수신자의 주소를 기반으로 가장 적절..
-
iOS10에서 ATS에 바뀐점! SSL/TLS관련앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 9. 30. 11:04
iOS9발표와 함께 NSAppTransportSecurity라는 키가 생겼습니다. iOS8까지 http 통신을 사용하던 커넥션이 iOS9에서는 먹통이 되었는데요, 바로 이 키 값에 대한 sub키들을 설정하면서 수정할 수 있었습니다.http://rhammer.tistory.com/67 에서도 꼼수를 소개했었구요. iOS10에서는 그럼 변동사항이 없느냐? 있습니다.일부만 소개합니다.. 여기에 적은 변동사항 외에도 엄청 많습니다.WKWebView 관련된 이슈가 좀 대표적일 것 같네요. 그냥 이해안되도 한번 읽어보시면 도움이 될 것 같네요. 저도 이해안되요... iOS10에서는 NSAppTransportSecurity키에 아래의 서브키가 추가됩니다.NSAllowsArbitraryLoadsInMediaNSAllo..
-
[TCP/IP] 웹 프로토콜에서 MAC주소와 IP주소를 어떻게 쓰는걸까?코딩은 주댕이로/컴공지식 2016. 7. 14. 00:02
그냥 IP주소, MAC주소에 대한 얕은 지식을 위해 적는 글!!쯔위에게 Facetime을 하려고 한다고 치자.쯔위의 전화번호를 알리가 없다.쯔위에게 전화를 걸기 위해 무엇부터 해야할까?일단 카톡을 열어 가장 트덕한놈에게 연락을 한다.트덕 : 팬카페에 가입하면 회장이랑 연락될걸?팬카페에 가입해서 회장에게 연락을 취했다.팬카페 회장 : 매니저한테 연락해보세여..매니저에게 연락했다.매니저 : 쯔위? ㅇㅇ 잠시만~~~쯔위 : 꺼져 냄새나는 덕후새끼야...이렇게 무사히 쯔위에게 연락이 닿았다. 쯔위는 서버에 해당하고, 쯔위의 전화번호가 바로 IP주소에 해당한다.트덕, 팬카페 회장, 매니저는 라우터에 해당하고그들의 연락처가 MAC주소에 해당한다고 볼 수 있겠다. 1.우리가 웹브라우저에 http://www.naver..