1. 네트워크에서 body, auth,query,header란?

네트워크에서 body, auth, query, header 는 HTTP 요청 및 응답에서 사용되는 주요요소들이다.

 

body: HTTP 요청 또는 응답에서 전송되는 실제데이터를 의미. 예시) 주로 POST, PUT, PATCH 등의 메서드를 사용할 때 사용되며, 데이터 형식은 JSON, XML, 텍스트 등 다양한 형식이 있습니다

 

Auth: HTTP 요청에서 인증정보를 포함하는 헤더를 의미. 예시) 대표적으로 Authorization 헤더가있고 사용자 인증정보를 서버에 전달. 인증정보를 통해 클라이언트가 서버에 접근할 권한을 갖는다.

 

Query: HTTP 요청에서 URL에 포함되는 쿼리 문자열 의미. 예시) https://www.naver.com/search?q=고양이 같이 "q=고양이"는 쿼리문자열로 주로 GET메서드를 사용한다. 쿼리문자열을 사용하여 서버에 필요한 정보를 요청하거나 결과를 필터링할수있다. 

 

Header: HTTP 요청및 응답에서 전송되는 메타데이터를 나타낸다. 예시)

Content-Type 해더는 요청 또는 응답에서 전송되는 데이터 유형을 나타냄.

User-Agent 헤더는 요청을 보낸 클라이언트 정보를 나타냄.

Content-Length 헤더는 HTTP 요청 또는 응답에서 전송되는 메서지 본문의 길이를 바이트단위로 나타냄.  

이처럼 다양한 헤더가있으며 요청 및 응답 처리방식과 내용을 나타내는 역할을한다. 

 

2. HTTP 요청에서 사용되는 미디어 타입

HTTP Header field 종류

Content-type은 HTTP 요청 응답에서 전송되는 데이터 형식을 지정하는 Header를 의미. ( 클라이언트가 서버로 보내는 데이터형식)

Accept는 클라이언트가 서버로부터 받길 원하는 데이터 형식을 의미한다. 

이 두개의 header field는 다음과 같은 몇가지 미디어 타입이있다.

 

application/json: JSON 형식의 데이터를 전송할 때 사용됩니다.
application/xml: XML 형식의 데이터를 전송할 때 사용됩니다.
text/plain: HTML 형식으로 작성된 일반 텍스트 데이터를 전송할 때 사용됩니다.
multipart/form-data: 파일 등 바이너리 데이터를 전송할 때 사용됩니다.
application/x-www-form-urlencoded: 웹 브라우저의 폼 데이터를 전송할 때 사용됩니다.

 

여기서 주로 mutipart/form-data , application/x-www-form-urlencoded 는 를 자주쓰는데 HTTP POST 사용하여 데이터를 전송할떄 사용한다.

 

x-www-form-urlencoded: 기본적인 form data 전송방식으로 일반적으로 사용된다. key=value 형태의 데이터를 인코딩하여 URL쿼리문자열에 포함시켜 전송한다. 예를 들어, name=john&age=25와 같이 데이터를 전송합니다. 이 방식은 데이터가 URL에 직접 포함되기 때문에 URL 길이에 제한이 있으며, 바이너리 데이터를 전송할 수 없습니다, 이방식은 간단하고 쉽게사용할수있으며 주로 작은데이터나 텍스트 데이터 전송하는데 적합하다.

 

form-data:대용량 파일을 전송할 때 사용되는 방식입니다. 폼 데이터를 여러 부분으로 나누어 전송하며 이 방식은 바이너리 데이터를 전송하는데 적합하며, 파일 업로드 기능을 구현할 때 많이 사용됩니다.

 

어떤방식을 선택할지는 데이터 크기와 종류따라 다르다.

 

 

예시)

"accept": "application/json" 는 HTTP 요청 Header의 하나로 클라이언트가 서버로부터 받고자하는 데이터형식지정에 사용.

accept: 클라이언트가 서버로부터 받고자하는 데이터 형식을 지정

application/json: 클라이언트가 받고자하는 데이터 형식이 JSON임을 나타냄.

따라서 클라이언트가 서버로부터 JSON 형식으로 데이터 받길 원하는것 나타냄. 이는 클라이언트가 서버로부터 XML, HTML등 다른형식으로 데이터를 받고자할때 Accept해더의 값(application/json이외의) 다르게 지정된다. 

 

"Content-Type": "application/json"

Content-Type라는 키는 HTTP 요청응답의 미디어 유형을 나타냄.

application/json은 클라이언트가 서버에게 JSON형식으로 요청데이터를 보내길 원한다. 

 

3. Bearer가 뭐야?

Bearer는 HTTP 요청 헤더에서 인증방식을 지정하는데 사용되는 용어이다.

이 방식은 보통 OAuth 2.0 인증 프로토콜에서 사용됩니다.

OAuth 2.0은 클라이언트 애플리케이션이 인증된 사용자의 리소스에 접근할 수 있도록 하는 프로토콜입니다.

"Bearer" 토큰은 클라이언트 애플리케이션이 인증된 사용자를 대신하여 API에 요청을 보낼 수 있도록 하는 인증 토큰입니다.

보통 JWT(JSON WEB TOKEN) 또는 OAuth 2.0 AccessToken과같은 형식으로 제공.

 

예시) Authorization: Bearer <access_token>

Authorization: 요청 헤더 이름

Bearer: 인증방식 

<access_token>: 인증 토큰값.

 

클라이언트는 API 서버로 요청을 보낼 때 이 헤더를 사용하여 자신을 인증하고, API 서버는 이를 확인하여 요청을 처리합니다. 이를 통해 클라이언트는 인증된 사용자의 권한을 이용하여 API 리소스에 접근할 수 있게 됩니다.

 
 
 

'𝗡𝗘𝗧𝗪𝐎𝗥𝗞' 카테고리의 다른 글

네트워크 빈출 키워드  (0) 2023.02.21
HTTP 란?  (0) 2023.02.21
NewWork 정리  (0) 2023.02.21