본문 바로가기

HTTP8

HTTP란 무엇인가? 웹 서버 방식에서는 기본적으로 HTTP 프로토콜을 사용하여 통신을 진행한다.따라서 우선적으로 HTTP 프로토콜이 무엇이고, 어떤 식으로 동작하는지 알아야 할 필요가 있음HTTPHyperText Transfer Protocol의 약자로 TCP/IP 프로토콜 집합에 속함HTTP 통신은 크게 리퀘스트(Request)와 리스폰스(Response)로 이루어짐클라이언트에서 서버로 보내는 요청이 리퀘스트클라이언트의 요청에 대한 서버의 응답이 리스폰스HTTP 통신은 상태를 유지하지 않는 무상태(Stateless) 프로토콜무상태(Stateless) : 서버가 각 세션에 대한 값을 메모리에 저장하지 않기 때문에 클라이언트의 상태를 기억하지 못함 따라서 서버가 유지해야 하는 자원의 양이 줄어듦단, 이전의 리퀘스트 및 리스폰.. 2024. 10. 8.
C# HttpClient.PostAsync 사용하기 HttpClient란 무엇인가?HttpClient은 HTTP 요청을 처리하기 위해서 설계된 .NET 라이브러리 내에 존재하는 클래스이다.HttpClient의 장점비동기 실행(Asynchronous Operations) : 응답을 기다리는 동안 다른 처리가 가능하다.재사용성(Reusable) : 하나의 인스턴스로 여러 요청에 사용이 가능하다.유연성(Flexibility) : HTTP 메소드와 커스텀 가능한 헤더를 지원한다.HttpClient.PosyAsync는 특정한 URL에 대해서 POST 방식으로 비동기로 데이터 송신을 가능하게 한다.기본 예제HttpClient client = new HttpClient();HttpContent content = new StringContent(jsonData, Enc.. 2024. 10. 7.
C# HTTP 프로토콜과 Web 사용 WebClient 사용하여 HTTP 사용하기C#에서 HTTP를 사용하기 위해서는 여러 방법이 있다. 간단하게는 System.Net.WebClient 클래스를 사용할 수 있으며, 좀 더 세밀한 제어를 위해서는 System.Net.HttpWebRequest 클래스를 사용할 수 있다. 아래는 WebClient 클래스를 사용하여 웹사이트의 HTML을 가져오는 예제이다. using System.Net;string url = "http://www.google.com";WebClient webClient = new WebClient();string html = webClient.DownloadString(url);HttpWebRequest를 사용하여 HTTP 사용하기C#에서 좀 더 세밀하게 HTTP를 제어할 필요가 .. 2024. 10. 2.
PowerShell 에러 Invoke-WebRequest : 기본 연결이 닫혔습니다. SSL/TLS 보안 채널에 대한 트러스트 관계를 설정할 수 없습니다. Invoke-WebRequest를 사용해서 Https 연결 시도영어로 찾아보니 해당 문장이었다.The underlying connection was closed - Could not\nestablish trust relationship for the SSL/TLS secure channel. 하지만 바로 위와 같은 에러가 출력되면서 WebRequest가 정상적으로 진행되지 않았다.그래서 파워 구글링을 시도하였다. 그리고 몇몇 시도와 테스트 끝에 해결 방법을 찾았다. 이는 인증서 혹은 윈도우 버전이 TLS/SSL 버전과 맞지 않아서 발생하는 이슈이다.아래의 명령어를 입력하면 이를 우회할 수 있다.[System.Net.ServicePointManager]::ServerCertificateValidationC.. 2024. 9. 27.
[::] 해당 IP 표기는 뭘까? IPv6 주소 표기법에 대해서 Nginx를 설정하는 과정에서 [::]:80이라는 설정값을 만났다.해당 설정값은 무엇을 의미하는 것일까? 찾아보니 IPv6에 대한 설정이었다.  Ubuntu에서 Nginx로 https 설정하기Nginx를 설치하고 실행해보자리눅스 환경에서 Nginx 설치를 위해서는 아래의 명령어를 입력해 주면 된다. sudo apt-get install nginx설치 후 Nginx를 실행하기 위해서는 아래의 명령어 중에서 하나를 입력jettstream.tistory.com IPv6 주소란 무엇인가?IPv6(Internet Protocol version 6)는 인터넷 프로토콜 스택 중 네트워크 계층의 프로토콜로서 버전 6의 인터넷 프로토콜로 제정된 차세대 인터넷 프로토콜을 말한다. 32비트 크기인 기존 IPv4 주소와는 달.. 2024. 9. 5.
HTTPS의 동작 원리에 대해서 HTTPS (HTTP over SSL)HTTPS(HyperText Transfer Protocol Secure)는 HTTP 프로토콜에 암호화 프로토콜을 사용하여 통신을 암호화한 HTTP의 보안 버전이다. HTTPS는 데이터 전송의 보안을 강화하기 위해 사용한다. 모든 웹 사이트에 HTTPS가 권장되지만, 특히 로그인 자격 증명이 필요한 웹사이트는 HTTPS를 사용해야 한다. 우리가 접속하는 웹사이트가 https://~ 로 시작한다면, 웹 서버로 데이터가 암호화되어 안전하게 전달됨을 의미한다. HTTP를 사용하여 데이터를 전송한다면, 데이터는 쉽게 스니핑 할 수 있는 데이터 패킷으로 나뉘어 가기 때문에 보안 위험에 노출될 수 있다. HTTPS를 사용하면 패킷을 스니핑하거나 가로챈다고 해도 암호화된 문자가 .. 2024. 8. 28.