본문 바로가기
반응형

HTTP10

ASP.NET Core HTTP 요청 처리 흐름 알아보기 ASP.NET Core 요청 처리 흐름 기본 구조ASP.NET Core 미들웨어(Middleware) 구조는 파이프라인 기반이기 때문에, 미들웨어 > 컨트롤러 > 다시 미들웨어로 "되돌아오는 흐름"을 갖는다. 해당 흐름을 더 잘 이해하기 위해서 아래의 그림을 살펴보자. 가장 중요한 부분은 한번 지나갔던 미들웨어로 다시 되돌아온다는 것이다.┌──────────────────────────────┐│ 클라이언트 요청 (HTTP) │└──────────────┬───────────────┘ ▼ [ 미들웨어 1: 요청 처리 전 ] ▼ [ 미들웨어 2: 요청 처리 전 ] ▼ ... 여러 미들웨어 ... .. 2025. 4. 23.
HTTP Header에는 한글이 포함될 수 없다! Header로 데이터 보내기 HTTP Header로 데이터를 보내보자HTTP 헤더를 통해서 클라이언트는 서버에 각종 데이터를 전송할 수 있다. 하지만 HTTP 헤더는 전송 규약의 일부이기 때문에 ASCII 기반의 매우 엄격한 형식을 따른다.공식 규격: RFC 7230 - HTTP/1.1 메시지 형식Header-Name: Header ValueHeader-Name: ASCII 문자, 숫자, 하이픈(-)만 가능Header-Value: ASCII의 visible character (0x20~0x7E)만 사용 가능📌 HTTP Header에 포함될수 없는 문자들제어 문자(\n, \r, \t, \0 등) : ASCII 코드 0~31 및 127유니코드 문자(한글, 이모지 등) : ASCII 외의 확장 문자공백 (헤더 값 중간은 가능, 키는 안.. 2025. 4. 12.
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.