Main Content

matlab.net.http.HeaderField 클래스

네임스페이스: matlab.net.http

HTTP 메시지의 헤더 필드

설명

HeaderField 클래스를 사용하여 HTTP 메시지에 대한 헤더 필드를 구현할 수 있습니다. 이 클래스는 헤더에 포함된 문자열과 MATLAB® 객체, 배열, 구조체 간을 변환합니다. HeaderField 속성을 임의 값으로 설정할 수 있지만 HTTP 헤더 필드에는 허용되는 문자에 대한 제약 조건이 있습니다.

Name 속성은 헤더 필드 유형을 정의합니다. MATLAB은 matlab.net.http.field 네임스페이스에서 일반적으로 사용되는 필드에 대한 서브클래스를 제공합니다. 지원되는 서브클래스 목록을 보려면 HeaderField.displaySubclasses 메서드를 호출하십시오.

생성

설명

예제

obj = matlab.net.http.HeaderField(name,value)Name 속성이 name으로 설정되고 Value 속성이 value로 설정된 헤더 필드를 생성합니다. 두 인수 중 하나는 빈 double형 []일 수 있습니다. name1,value1,...,nameN,valueN과 같이 여러 개의 인수 쌍을 어떤 순서로든 지정할 수 있습니다. 마지막 value 인수가 누락된 경우 HeaderField는 이 인수를 비어 있는 인수로 처리합니다.

속성

모두 확장

헤더 필드 이름으로, string형이나 문자형 벡터로 지정됩니다. Name은 필드 유형을 결정하며, 이에 따라 Value 속성의 유효한 값이 결정됩니다. Name[] 또는 빈 문자열로 설정한 경우 Value[]입니다.

이 객체가 특정 헤더 필드 유형을 구현하는 서브클래스의 인스턴스인 경우 해당 클래스는 Name 속성에 제약 조건을 적용합니다.

예: 'Content-Type'

특성:

GetAccess
public
SetAccess
public

헤더 필드 값으로, string형이나 Name 속성에 유효한 모든 유형으로 지정됩니다.

이 속성을 읽어올 경우 Value는 필드의 값을 나타내는 문자열입니다.

이 속성을 설정할 경우 Value는 이 객체의 Name 속성 및/또는 클래스에 따라 필드에 허용되는 모든 유형입니다. 결과는 문자열로 변환됩니다. 필드 유형에 디폴트 값이 있으면 Value를 빈 문자열('' 또는 string(''))로 설정해야 합니다. 빈 double형 []을 지정하면 요청 메시지의 send 메서드와 complete 메서드가 이 필드를 메시지에 추가하지 않습니다.

예: 'text/html'

특성:

GetAccess
public
SetAccess
public
Dependent
true

메서드

모두 확장

예제

모두 축소

Content-Type 헤더 필드를 생성하려면 HeaderField 클래스 생성자 또는 ContentTypeField 클래스 생성자를 사용하십시오.

HeaderField 클래스 생성자를 사용할 경우 Name 속성을 'Content-Type'으로 지정합니다. 그러나, 필드 이름의 철자를 잘못 입력한 경우 서버가 메시지를 거부할 때까지 오류가 있는지 모를 수 있습니다. 일부 서버는 알 수 없는 필드 이름에 대해 아무런 오류도 표시하지 않고 무시하기도 합니다.

f1 = matlab.net.http.HeaderField('Content-Type','text/plain');

필드 이름의 철자를 잘못 입력하면 안 되기 때문에 ContentTypeField 클래스 생성자를 사용하는 것이 좋습니다.

f2 = matlab.net.http.field.ContentTypeField('text/plain');

Value 속성이 같으면 사용되는 생성자에 상관없이 필드도 동일합니다.

f1 == f2
ans =    1

이 예제는 mathworks.com에서 전송된 응답 메시지에서 Cache-Control이라는 특정 헤더 필드를 찾는 방법을 보여줍니다.

메시지를 mathworks.com으로 보냅니다.

request = matlab.net.http.RequestMessage;
uri = matlab.net.URI('https://www.mathworks.com');
response = send(request,uri);

Cache-Control을 검색하고 그 값을 표시합니다.

field = response.getFields('Cache-Control');
value = field.Value
value = 
"max-age=14400"

  • HeaderField 생성자는 HeaderField 클래스의 필드를 생성합니다. matlab.net.http.field 네임스페이스에 정의된 클래스의 필드를 생성하려면 서브클래스 생성자를 대신 사용하십시오. 서브클래스 목록을 보려면 HeaderField.displaySubclasses 메서드를 호출하십시오.

    예를 들어, matlab.net.http.field.DateField 서브클래스는 Date 헤더 필드를 생성합니다. HeaderField 클래스를 사용하여 Date 필드를 생성하면 HeaderFieldDateField의 인스턴스가 아니더라도 DateField 클래스가 값을 해석하여 적용합니다. 마찬가지로, 필드 값을 MATLAB datetime 값으로 변환하면 DateField.convert 메서드가 사용됩니다.

  • HeaderField 생성자가 Name 인수와 Value 인수를 거부하는 경우 GenericField 클래스 생성자를 대신 사용하십시오.

버전 내역

R2016b에 개발됨