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 |