HTTP
-
[HTTP] HTTP의 약점과 HTTPSHTTP 2021. 7. 27. 20:48
HTTP의 약점 평문 (암호화 하지 않은) 통신이기 때문에 도청이 가능하다. 통신 상대를 확인하지 않기 때문에 위장이 가능하다. 완전성을 증명할 수 없기 때문에 변조가 가능하다. 1. 평문이기 때문에 도청 가능 HTTP를 사용한 리퀘스트, 리스폰스 통신은 HTTP 자신을 암호화하는 기능은 없기 때문에 통신 전체가 암호화 되지는 않는다. 즉, 평문으로 HTTP메시지를 보내게 된다. TCP/IP는 도청이 가능한 네트워크 TCP/IP의 구조의 통신 내용은 전부 통신 경로 도중에 엿볼 수 있다. 그렇기 때문에 악의를 가진 누군가가 악용할 수 있다. 암호화된 통신에서도 암호화된 메시지 자체는 엿볼 수 있다. 도청을 피하는 법 통신 암호화 : HTTP에는 암호화 구조는 없지만 SSL이나 TLS라는 다른 프로토콜과 ..
-
[HTTP] GET과 POST의 차이점HTTP 2021. 7. 5. 22:34
GET 서버로부터 정보를 조회하는 목적으로 설계된 메서드 요청을 전송시 데이터를 Body에 담지 않고, 쿼리스트링을 통해 전송한다. 불필요한 요청을 제한하기 위해 요청이 캐시될 수 있다. Idempotent(멱등)하게 설계 되었다. 서버에게 동일한 요청을 보낼 시 동일한 응답이 오도록 설계해야한다. 데이터를 변경하지 않는 조회의 목적으로 적절하다. POST 리소스를 생성 및 변경하기 위한 목적으로 설계된 메서드 요청을 전송시 데이터를 Body에 담아 전송한다.(단 크롬의 개발자 도구, 피들러 같은 툴로 데이터를 다 파악할 수 있으니 보안이 필요한 데이터는 별도의 암호화가 필요함) Non-idempotent(멱등하지 않게)하게 설계 되었다. 서버에게 동일한 요청을 보낼 시 응답은 항상 다를 수 있다. 새로..
-
[HTTP] 프록시, 게이트웨이, 터널 개념 알아보기HTTP 2021. 6. 27. 17:43
들어가며 HTTP는 클라이언트와 서버 이외에 프록시(Proxy), 게이트웨이(Gateway), 터널(Tunnel)과 같은 통신을 중계하는 프로그램과 서버를 연계하는 것도 가능하다. 이러한 프로그램과 서버는 그 다음에 있는 다른 서버에 리퀘스트를 중계하고, 리스폰스를 클라이언트에 반환하는 역할을 담당한다. 프록시 (Proxy) 정의 : 서버와 클라이언트의 양쪽 역할을 하는 중계 프로그램으로, 클라이언트의 리퀘스트를 서버에 전송, 서버로부터의 리스폰스를 클라이언트에 전송한다. 추가 설명 : 프록시 서버의 기본적인 동작은 클라이언트로부터 받은 리퀘스트를 다른 서버에 전송하는 것. 클라이언트로부터 받은 URI를 변경하지 않고 리소스를 가지고 있는 서버에 보낸다. 리소스 본체를 가진 서버를 오리진 서버 (Orig..
-
[HTTP] TCP/IP, DNS 개념 알아보기HTTP 2021. 6. 27. 16:04
TCP (Transfer Control Protocol) : 트랜스포트 계층에 속하는 프로토콜이며, 신뢰성 있는 바이트 스트림 서비스를 제공한다. 큰 데이터를 보내기 쉽게 TCP 세그먼트라고 불리는 단위 패킷으로 작게 분해하여 관리하는 것을 말하고, 상대방에게 정확하게 도착했는지 확인하는 역할을 담당한다. 상대방에게 확실하게 데이터를 보내기 위한 방법으로 TCP는 쓰리웨이 헨드셰이킹 (Three way handshaking) 이라는 방법을 사용하고 있다. 이 방법은 패킷을 보내고 나서 바로 끝내는 것이 아니라, 보내졌는지 여부를 상대방에게 확인하러 가는 방법으로, 이것은 'SYN', 'ACK' 라는 TCP 플래그를 사용하며, 송신측에서는 최초 'SYN' 플래그로 상대방에게 접속함과 동시에 패킷을 보내고,..
-
[HTTP] URI, URL, URN 세 가지의 차이는?HTTP 2021. 6. 20. 21:34
URI (Uniform Resource Identifier) : 네트워크 상에 있는 자원의 식별자 (URL과 URN의 포괄적인 개념) URL (Uniform Resource Locator) : 네트워크 상에 자원의 위치를 나타냄 URN (Uniform Resource Name) : 네트워크 상에 자원의 이름을 나타냄 URL의 예 https://honggom.tistory.com/28 리소스에 실제 위치를 나타냄 URN의 예 (인터넷 표준 문서 RFC 2141의 URN) urn:ietf:rfc:2141 위치가 독립적이므로 리소스의 실제 위치가 변경 되어도 똑같은 리소스에 접근 가능 접속 프로토콜이 변해도 접근에 문제가 없음 참고자료 우에노 센, 「그림으로 배우는 HTTP & Network Basic」, 영..