백엔드 개발 C#.Net 튜토리얼 ASP.NET WebAPI 사전 지식: HTTP 및 RestfulAPI

ASP.NET WebAPI 사전 지식: HTTP 및 RestfulAPI

Apr 04, 2017 pm 03:51 PM

        HTTP 프로토콜에 대한 기본적인 이해는 RestFul 스타일 API를 이해하고 사용하기 위한 기초입니다. 이러한 기본 사항을 이해한 후 다양한 RestFul 개발 프레임워크를 사용하세요. 당신은 편리할 수 있습니다. WebApi를 처음 사용하기 시작했을 때 이러한 지식에 대한 이해가 부족하여 사용하기가 불편하다고 느꼈지만, 이러한 HTTP 지식을 익히고 나서야 WebApi를 사용하여 개발하는 것이 편해졌습니다. RestFul 스타일 API는 HTTP 프로토콜을 잘 지원하고 HTTP의 완전한 의미 스타일을 구현하는 API입니다.

이 지식을 소개하기 전에 많은 사람들이 오해하고 있는 HTTP 조건부 및 데이터 전송 방법에 대해 강조하고 싶습니다. 대부분의 사람들이 접하고 사용하는 HTTP 프로토콜은 웹 사이트를 작성하는 과정에서 일반적으로 WEB 응용 프로그램에서는 GET 및 POST 두 가지 조건만 사용하며 다른 조건은 적용되지 않습니다. 이상한 인식: HTTP 프로토콜은 웹사이트 개발에만 적합합니다. HTTP 호출 데이터 전송은 K-V 형식으로만 수행됩니다. 이 인식 하에서 RestApi는 설명이 없는 경우가 많습니다. ASP.NET WebAPi를 사용하는 경우에도 설명이 없는 것처럼 나타나 문제가 발생합니다. 먼저 웹 사이트에서의 데이터 상호 작용은 HTTP 사용의 한 시나리오일 뿐이며 HTTP는 다양한 형태의 데이터를 전송할 수 있다는 점을 인식해야 합니다.

HTTP의 첫 번째 줄부터 시작합니다. HTTP의 첫 번째 줄에는 조건자, URL, HTTP 프로토콜 버전의 세 가지 정보가 포함됩니다. 세 개의 데이터는 공백으로 구분됩니다.

조건자: 조건자는 RestFul API의 매우 중요한 요소입니다. WEB API는 조건자를 기본 라우팅 방법으로 사용합니다. 가장 일반적으로 사용되는 조건자는 POSTDELETEPUTGET입니다. , 이 네 가지 술어는 "추가, 삭제, 수정, 확인"의 네 가지 작업에 해당합니다(POST 및 PUT은 서로 다른 데이터를 추가하고 수정하는 데 사용됩니다. 항상 다른 의견이 있습니다. 사실 조금 혼란스럽습니다... 네 정의에 따르면 PUT는 멱등성 작업이지만 POST는 그렇지 않으므로 PUT은 변경 사항에 더 중점을 두고 POST는 증가에 더 중점을 둡니다. 가장 일반적으로 사용되는 술어는 이 네 가지이며, 다른 의미를 갖는 다른 술어도 있습니다:

HEAD: Body를 제외하고 해당 헤더만 반환

TRACE: 예 진단 데이터 전송 프로세스

OPTIONS: 웹 서버가 지원하는 다양한 기능을 알려주도록 요청

필요한 경우 관련 문서를 쿼리 할 수 있습니다. 일반적으로 사용되지 않음.

그 중 GET과 DELETE는 BODY를 포함하지 않으며, PUT과 POST는 BODY를 포함할 수 있습니다. 그리고 조건자에 BODY를 사용한 GET과 같은 의미 체계 외부의 작업이 포함된 경우 POST는 리소스를 삭제하는 데 사용되며 이 작업도 허용되며 조건자의 오버로딩이라고 합니다. , HTTP는 조건자 오버로드를 지원할 수 있지만 표준 의미 체계를 준수하지 않으므로 사용하지 않는 것이 좋습니다.

URL: URL은 리소스를 정의합니다. 예를 들어 www.example.com/person은 person을 리소스로 정의합니다. 위에서 소개한 조건자와 결합하여 Person을 제공합니다. 작업 집합:

GET www.example/person/1을 사용하여 ID 1의 사용자 정보 가져오기

POST www.example/person/(BODY 개인의 설명 포함) 개인 리소스 생성

PUT www.example/person/1 (BODY에는 개인의 설명 포함) 업데이트개인 리소스

.1 프로토콜인 HTTP2.0 프로토콜은 대중화 단계에 있으며 아직 많이 사용되지 않습니다. HTTP1.0과 HTTP1.1의 차이는 매우 작으며, 그 차이가 RestFul에 큰 영향을 미치지 않습니다. 구체적인 차이점은 관련 문서를 확인하실 수 있습니다.

 

이것은 HTTP의 첫 번째 줄입니다. 다음은 줄을 바꾸는 rn이 있습니다. 다음은 HTTP 요청과 응답을 설명하는 HTTP HEAD 부분입니다. HTTP HEAD는 HTTP 프로토콜에서 가장 중요한 부분이라고 생각합니다. 여기에는 인코딩, BODY 길이, 콘텐츠 협상 등과 같은 정보가 포함되어 있습니다. 일부 사용자 정의 정보도 포함할 수 있습니다. RestFul API에서 일반적으로 사용되는 몇 가지 HEAD를 소개하겠습니다.

User-Agent: 사용자 에이전트, 클라이언트가 요청하는 IE, Chrome, Fid dl 등 er, etc.

HOST: 도메인 이름(HOST는 일반적으로 서버의 사이트 바인딩에 사용됩니다. 일반적으로 URL의 도메인 이름과 동일하지만 일부 사용자 정의된 DNS 사용에서는 나타날 수 있습니다. HOST와 URL의 도메인 이름이 일치하지 않습니다.)

권한: 확인 정보, 이 필드는 사용자 확인을 위한 일부 정보를 포함할 수 있으며 표시 방법은 다음과 같습니다. 스키마 작성자 정보, 공백으로 구분, 여기서 스키마는 확인을 나타냅니다. 메소드, Authorinfo는 검증 정보, Base와 같은 공통 스키마를 나타냅니다. Authorinfo는 사용자 이름 + 비밀번호를 사용하며 Base64로 인코딩됩니다. 또는 세션과 유사한 토큰을 사용하세요.

수락: 응답 데이터의 내용 협상에 사용되는 MIME으로 표현된 반환된 데이터를 수락하는 직렬화 방법은 여러 MIME을 포함할 수 있으며 application/json과 같이 우선순위에 따라 정렬됩니다., application/xml, text/html; 서버가 반환할 수 있는 특정 유형의 데이터는 서버 지원에 따라 다릅니다. 때로는 사용자 정의된 MIME이 필요할 수도 있습니다. bson, 프로토콜 버퍼 등과 같은 MIME을 사용자 정의하고 서버 측에서 자체 구현을 개발할 수 있으며 이러한 특수 확장에는 ASP.NET WebApi에 해당 확장 지점이 있습니다.

Content-Type: MIME 표현을 사용하여 전송된 요청 본문의 직렬화 방법을 나타냅니다. 일반적인 표현은 application/json과 가장 일반적으로 사용되는 application/x-www-입니다. m-urlencoded의 WEB 상호작용에서는 둘 다 요청과 응답에 나타나는 본문 부분의 직렬화 방법을 나타냅니다.

제 생각에는 HTTP HEAD 부분이 HTTP 프로토콜의 핵심입니다. 구성하고 사용할 수 있는 부분이 너무 많고, 세부 사항도 너무 많습니다. 위 내용은 제 작업에서 가장 일반적으로 사용되는 부분입니다. 이 내용을 모두 소개하면 충분합니다. 이 책은 나와 있습니다. 관심이 있으시면 관련 정보를 찾을 수 있습니다. Rest API에서 콘텐츠 협상은 처음에 Rest를 사용하는 사람들을 혼동하는 경우가 많습니다. 헤더 Accept 및 Content-Type은 어떤 종류의 데이터가 허용되는지를 나타냅니다. Content-Type은 현재 요청에서 Body의 인코딩 방법을 나타냅니다. ASP.NET WEBAPI에서 요청에 Content-Type이 있지만 ACCEPT가 없으면 기본적으로 Content-Type의 콘텐츠가 응답에 대한 콘텐츠 협상으로 사용됩니다.

 

응답 부분도 헤더와 본문으로 구분됩니다. 응답 헤더와 요청 헤더의 가장 큰 차이점은 응답의 첫 번째 줄에 HTTP 코드가 있다는 점과, HTTP 코드는 API 호출로 사용됩니다 상태 표시도 매우 중요합니다. REST API에서 가장 일반적으로 사용되는 상태 코드는 일반적으로 2XX, 4XX 및 5XX의 세 세그먼트입니다. .1XX는 작업이 계속됨을 의미하고 3XX는 일반적으로 REST API에서 많이 사용되지 않는 리디렉션을 의미합니다. 가장 일반적으로 사용되는 세 가지 상태 세그먼트 중 2XX는 성공적인 실행을 나타내고, 4XX는 클라이언트 데이터 오류(예: 매개변수 확인 실패)를 나타내며, 5XX는 처리되지 않은 예외(예: 데이터베이스 연결 오류)와 같은 서버 측 처리 오류를 나타냅니다. 이러한 상태 코드를 통해 API 호출의 실행 상태를 초기에 판단할 수 있습니다.

 

헤더 뒤에 빈 줄(rn)이 있고 그 뒤에 Content가 있습니다. 여기에는 JSON, XML, 심지어 HTML과 같은 다양한 콘텐츠 유형에 따라 다양한 직렬화 방법으로 표시되는 특정 비즈니스 데이터가 있습니다. HTTP API를 배우면 웹 애플리케이션도 HTTP의 애플리케이션이라고 생각할 수 있지만, 상호 작용 방식은 일반적으로 요청으로 application/x-www-form-urlencoded를 사용하고 응답으로 text/html을 사용합니다. RestAPI는 다른 많은 코딩 방법과 상호 작용할 수 있으며 더 폭넓은 지원을 제공합니다. 웹 애플리케이션은 단지 HTTP 전송을 사용하는 애플리케이션 시나리오일 뿐이며 웹 페이지는 분리될 수 없습니다. 내 생각에 Nancy는 ASP.NET보다 이 작업을 더 잘한다고 생각합니다. Nancy는 RestAPI를 웹 페이지에서 분리하지 않는 반면 ASP.NET은 MVC 및 WEBAPI를 사용하여 둘을 분리합니다. application/json일 때 Json 데이터를 반환하고 text/html이 사용될 때 웹 페이지를 반환하려면 물론 이 두 가지 응용 프로그램 방법을 자르거나 병합하는 것은 나름의 장점과 단점이 있습니다.

제가 작성한 내용은 HTTP 프로토콜에 비해 너무 적습니다. 관심이 있으신 분은 WEB API에서 자주 사용되는 부분만 적어 두시면 됩니다. 이 지식:

위 내용은 ASP.NET WebAPI 사전 지식: HTTP 및 RestfulAPI의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

<gum> : Bubble Gum Simulator Infinity- 로얄 키를 얻고 사용하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
Nordhold : Fusion System, 설명
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora : 마녀 트리의 속삭임 - Grappling Hook 잠금 해제 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

http 상태 코드 520은 무엇을 의미합니까? http 상태 코드 520은 무엇을 의미합니까? Oct 13, 2023 pm 03:11 PM

HTTP 상태 코드 520은 서버가 요청을 처리하는 동안 알 수 없는 오류가 발생하여 더 구체적인 정보를 제공할 수 없음을 의미합니다. 서버가 요청을 처리하는 동안 알 수 없는 오류가 발생했음을 나타내는 데 사용됩니다. 이는 서버 구성 문제, 네트워크 문제 또는 기타 알 수 없는 이유로 인해 발생할 수 있습니다. 이는 일반적으로 서버 구성 문제, 네트워크 문제, 서버 과부하 또는 코딩 오류로 인해 발생합니다. 상태 코드 520 오류가 발생하면 웹사이트 관리자나 기술 지원팀에 문의하여 자세한 정보와 지원을 받는 것이 가장 좋습니다.

http 상태 코드 403이란 무엇입니까? http 상태 코드 403이란 무엇입니까? Oct 07, 2023 pm 02:04 PM

HTTP 상태 코드 403은 서버가 클라이언트의 요청을 거부했음을 의미합니다. http 상태 코드 403에 대한 해결 방법은 다음과 같습니다. 1. 서버에 인증이 필요한 경우 올바른 자격 증명이 제공되었는지 확인합니다. 2. 서버가 IP 주소를 제한한 경우 클라이언트의 IP 주소가 제한되어 있거나 블랙리스트에 없습니다. 3. 파일 권한 설정을 확인하십시오. 403 상태 코드가 파일 또는 디렉토리의 권한 설정과 관련되어 있으면 클라이언트가 해당 파일 또는 디렉토리에 액세스할 수 있는 권한이 있는지 확인하십시오. 등.

웹 페이지 리디렉션의 일반적인 애플리케이션 시나리오를 이해하고 HTTP 301 상태 코드를 이해합니다. 웹 페이지 리디렉션의 일반적인 애플리케이션 시나리오를 이해하고 HTTP 301 상태 코드를 이해합니다. Feb 18, 2024 pm 08:41 PM

HTTP 301 상태 코드의 의미 이해: 웹 페이지 리디렉션의 일반적인 응용 시나리오 인터넷의 급속한 발전으로 인해 사람들은 웹 페이지 상호 작용에 대한 요구 사항이 점점 더 높아지고 있습니다. 웹 디자인 분야에서 웹 페이지 리디렉션은 HTTP 301 상태 코드를 통해 구현되는 일반적이고 중요한 기술입니다. 이 기사에서는 HTTP 301 상태 코드의 의미와 웹 페이지 리디렉션의 일반적인 응용 프로그램 시나리오를 살펴봅니다. HTTP301 상태 코드는 영구 리디렉션(PermanentRedirect)을 나타냅니다. 서버가 클라이언트의 정보를 받을 때

HTTP 200 OK: 성공적인 응답의 의미와 목적을 이해합니다. HTTP 200 OK: 성공적인 응답의 의미와 목적을 이해합니다. Dec 26, 2023 am 10:25 AM

HTTP 상태 코드 200: 성공적인 응답의 의미와 목적 탐색 HTTP 상태 코드는 서버 응답 상태를 나타내는 데 사용되는 숫자 코드입니다. 그 중 상태 코드 200은 요청이 서버에 의해 성공적으로 처리되었음을 나타냅니다. 이 기사에서는 HTTP 상태 코드 200의 구체적인 의미와 사용법을 살펴보겠습니다. 먼저 HTTP 상태 코드의 분류를 이해해 보겠습니다. 상태 코드는 1xx, 2xx, 3xx, 4xx 및 5xx의 다섯 가지 범주로 나뉩니다. 그 중 2xx는 성공적인 응답을 나타냅니다. 그리고 200은 2xx에서 가장 일반적인 상태 코드입니다.

Nginx 프록시 관리자를 사용하여 HTTP에서 HTTPS로 자동 점프를 구현하는 방법 Nginx 프록시 관리자를 사용하여 HTTP에서 HTTPS로 자동 점프를 구현하는 방법 Sep 26, 2023 am 11:19 AM

NginxProxyManager를 사용하여 HTTP에서 HTTPS로의 자동 점프를 구현하는 방법 인터넷이 발전하면서 점점 더 많은 웹사이트가 HTTPS 프로토콜을 사용하여 데이터 전송을 암호화하여 데이터 보안과 사용자 개인 정보 보호를 향상시키기 시작했습니다. HTTPS 프로토콜에는 SSL 인증서 지원이 필요하므로 HTTPS 프로토콜 배포 시 특정 기술 지원이 필요합니다. Nginx는 강력하고 일반적으로 사용되는 HTTP 서버 및 역방향 프록시 서버이며 NginxProxy

http.PostForm 함수를 사용하여 양식 데이터와 함께 POST 요청 보내기 http.PostForm 함수를 사용하여 양식 데이터와 함께 POST 요청 보내기 Jul 25, 2023 pm 10:51 PM

http.PostForm 함수를 사용하여 양식 데이터와 함께 POST 요청을 보낼 수 있습니다. Go 언어의 http 패키지에서는 http.PostForm 함수를 사용하여 양식 데이터와 함께 POST 요청을 보낼 수 있습니다. http.PostForm 함수의 프로토타입은 다음과 같습니다: funcPostForm(urlstring,dataurl.Values)(resp*http.Response,errerror)where, u

빠른 적용: 여러 파일의 PHP 비동기 HTTP 다운로드에 대한 실제 개발 사례 분석 빠른 적용: 여러 파일의 PHP 비동기 HTTP 다운로드에 대한 실제 개발 사례 분석 Sep 12, 2023 pm 01:15 PM

빠른 적용: PHP의 실제 개발 사례 분석 여러 파일의 비동기 HTTP 다운로드 인터넷의 발전으로 파일 다운로드 기능은 많은 웹 사이트와 응용 프로그램의 기본 요구 사항 중 하나가 되었습니다. 여러 파일을 동시에 다운로드해야 하는 시나리오의 경우 기존 동기 다운로드 방법은 비효율적이고 시간이 많이 걸리는 경우가 많습니다. 이러한 이유로 PHP를 사용하여 HTTP를 통해 여러 파일을 비동기적으로 다운로드하는 것이 점점 더 일반적인 솔루션이 되었습니다. 본 글에서는 실제 개발 사례를 통해 PHP 비동기 HTTP를 활용하는 방법을 자세히 분석해 보겠습니다.

http 요청 415 오류 해결 방법 http 요청 415 오류 해결 방법 Nov 14, 2023 am 10:49 AM

해결 방법: 1. 요청 헤더에서 Content-Type을 확인합니다. 2. 요청 본문에서 데이터 형식을 확인합니다. 3. 적절한 인코딩 형식을 사용합니다. 4. 적절한 요청 방법을 사용합니다. 5. 서버측 지원을 확인합니다.

See all articles