HTTP - HTTP 헤더 정보 - 3. 인증과 쿠키
2023. 5. 23. 21:24
CS/HTTP
들어가며 이전 포스트에서 HTTP 헤더의 표현 헤더 및 여러 일반 헤더에 대해 알아보았다. 이번 포스트에서는 인증과 쿠키의 개념에 대해 알아보도록 한다. 인증 인증과 관련된 HTTP 헤더는 Authorization과 WWW-Authenticate 두개로 나누어진다. Authorization은 클라이언트의 인증 정보를 서버에 전달하는 헤더이다. WWW-Authenticate 헤더는 리소스에 접근 시 필요한 인증 방법을 정의한 헤더인데 일반적으로 어떤 리소스에 접근 요청을 보낼 때 401 - UnAuthorized 응답과 함께 사용된다. 해당 헤더를 통해 클라이언트는 어떤 방식으로 인증을 수행하여야 하는지에 대해 알 수 있다. 쿠키 쿠키와 관련된 헤더는 2개가 있는데 그 전에 쿠키의 필요성과 개념에 대해 먼..
HTTP - HTTP 헤더 정보 - 2. 일반 헤더 - 전송 방식과 여러 가지 정보
2023. 5. 23. 01:34
CS/HTTP
들어가며 이전 포스트에서 HTTP헤더와 클라이언트와 서버가 상호간 보내려고 하는 데이터를 표현(Representation)으로 정의한 것과, 이 표현 데이터의 정보를 기록한 표현 헤더, 클라이언트가 선호하는 Content-Type이나 Content-Language 등을 사용한 협상(Content Negotiation)에 대해 알아보았다. 이번 포스트에서는 전송 방식에 대한 헤더와 여러 헤더 정보에 대해 알아보도록 한다. 전송 방식 HTTP 메시지를 전송하는 방식에는 4개의 방식이 존재한다. 단순 전송 압축 전송 분할 전송 범위 전송 단순 전송의 경우 일반적인 전송을 말하며 이때 표현 데이터의 길이를 나타내는 Content-Length 헤더가 들어간다. 압축 전송의 경우 표현 데이터가 압축된 데이터로 들어..
HTTP - HTTP 헤더 정보 - 1. 일반 헤더와 표현(Representation)
2023. 5. 22. 21:05
CS/HTTP
들어가며 이전까지 응답에 대해 알아보았다. 이번에는 HTTP 메시지에 있는 HTTP 헤더에 대해 좀 더 심화적으로 알아본다. HTTP 헤더 HTTP 헤더는 HTTP 전송에 필요한 모든 부가정보를 가지고 있는 부분을 말한다. 여기서 부가정보란 말 그대로 모든 부가정보로 바디의 내용, 길이, 크기, 압축 방법, 인증, 요청 클라이언트 정보, 서버 정보, 캐시 관련 정보, 쿠키 정보 등이 있다. 일반적으로 다음과 같은 메시지 Form을 다룬다. header-field =field-name":" OWS field-value OWS (OWS는 띄워쓰기 허용이란 의미이다.) 헤더 필드는 만약 필요하다면 임의의 헤더 필드를 만들어 HTTP 메시지에 추가하여 전송할 수 있다. 엔티티(Entity)와 표현(Represe..
HTTP - HTTP 응답 상태코드 2
2023. 5. 22. 18:45
CS/HTTP
들어가며 이전 포스트에서 HTTP 응답 메시지에 붙는 상태 코드에 대해 300번대 코드까지 알아보았다. 이번 포스트에서는 나머지 400, 500번 상태 코드에 대해서 알아본다. HTTP - HTTP 응답 상태코드 1 들어가며 이전 포스트에서 HTTP에 대한 요청(Request)을 할 때 사용하는 HTTP 메서드에 대해 알아보았다. 이번 포스트에서는 HTTP 요청 메시지에 대해 서버가 처리를 수행하고 난 뒤 클라이언트에게 sehun5515.tistory.com 4XX번 상태 코드 400번과 500번대 상태 코드는 요청을 제대로 처리하지 못했을 때 전송되는 상태 코드이다. 400번대 코드는 다음의 상황에서 사용된다. 서버가 요청을 처리하지 못하였고, 그 원인이 서버가 아닌 클라이언트에게 있을 때, 즉 요청에..
HTTP - HTTP 응답 상태코드 1
2023. 5. 19. 19:05
CS/HTTP
들어가며 이전 포스트에서 HTTP에 대한 요청(Request)을 할 때 사용하는 HTTP 메서드에 대해 알아보았다. 이번 포스트에서는 HTTP 요청 메시지에 대해 서버가 처리를 수행하고 난 뒤 클라이언트에게 전송하는 응답(Response)을, 그 중에서도 상태 코드에 대해 알아본다. HTTP - HTTP 메서드 활용 들어가며 이전 포스트에서 HTTP 메서드의 각 특징과 성질에 대하여 알아보았다. 이번엔 이전에 배운 HTTP 메서드를 활용하여 클라이언트에서 어떻게 서버로 데이터를 전송하는지에 대해 알아본다 sehun5515.tistory.com 상태 코드(Status Code) 상태 코드는 클라이언트가 서버에게 요청을 전송한 뒤 서버에서 해당 요청을 받고, 요청의 처리 상태에 대해 현재 어떤 상태인지를 클..
HTTP - HTTP 메서드 활용
2023. 5. 18. 00:48
CS/HTTP
들어가며 이전 포스트에서 HTTP 메서드의 각 특징과 성질에 대하여 알아보았다. 이번엔 이전에 배운 HTTP 메서드를 활용하여 클라이언트에서 어떻게 서버로 데이터를 전송하는지에 대해 알아본다. HTTP - HTTP 메서드 들어가며 이전 포스트에서 리소스를 잘 식별할 수 있는 URI 설계와 그렇게 설계함으로서 나올 수 있는 문제점들, 그리고 그러한 문제점을 해결하기 위해 HTTP 메서드를 가져온 것을 보았다. 이번 sehun5515.tistory.com 데이터 전송 - Client to Server 클라이언트(호스트)에서 서버로 데이터를 전송하는 것은 크게 두 가지로 나눌 수 있다. 하나는 쿼리 파라미터를 사용한 데이터 전송이다. 쿼리 파라미터는 localhost:8080/members?id=100 에서 ..
HTTP - HTTP 메서드
2023. 5. 17. 00:37
CS/HTTP
들어가며 이전 포스트에서 리소스를 잘 식별할 수 있는 URI 설계와 그렇게 설계함으로서 나올 수 있는 문제점들, 그리고 그러한 문제점을 해결하기 위해 HTTP 메서드를 가져온 것을 보았다. 이번 포스트에서는 HTTP 메서드들을 알아보고 각 메서드들의 특징과 사용 시점에 대해 논의한다. HTTP 메서드 HTTP 메서드는 리소스에 적용하는 어떠한 "행위"를 나타낼 수 있다. HTTP 메서드는 가장 대표적으로는 GET, POST, PUT, PATCH, DELETE로 나누어지며 부가적으로 몇 개의 메서드가 더 존재한다. GET GET 메서드는 리소스를 조회하기 위해 사용하는 HTTP 메서드이다. 서버에 전달하고 싶은 데이터는 query(query parameter, query string)를 통해서 전달하며 메..
HTTP - HTTP API 설계와 HTTP메서드
2023. 5. 15. 19:23
CS/HTTP
들어가며 HTTP 메서드를 알아보기 이전에 기본적인 API에 대한 URL설계에 대해 한번 논의해본다. API URI 설계 만약의 예시를 들어 회원 정보를 관리하는 API를 만들어야 한다고 가정하자. 회원 정보를 관리하기 위해서는 다음과 같은 기능들이 필요하다. 회원 전체 목록 조회 회원 조회 회원 등록 회원 수정 회원 삭제 그리고 각 기능에 대해 URI를 지정해줘야 할 것이다. 그래야 그 경로로 요청이 가서 서버에서 그 요청에 맞는 로직을 수행할 수 있을 것이다. 각 기능을 그대로 URI에 옮긴 경로는 다음과 같을 것이다. 회원 목록 조회 - /read-member-list 회원 조회 - /read-member-by-id 회원 등록 - /create-member 회원 수정 - /update-member ..
HTTP - HTTP 메시지 구조
2023. 5. 15. 00:15
CS/HTTP
들어가며 이전 포스트에서 HTTP의 정의와 성질에 대해 알아보았다. 이번 포스트에서는 HTTP 메시지의 구조와 각 파트별에 대해 간략하게 알아본다. HTTP - HTTP의 뜻과 특성 들어가며 이전 포스트에서는 리소스를 식별할 수 있는 방법인 URI에 대해 알아보았다. 이번 포스트에서는 웹 개발에서 가장 핵심적인 프로토콜이라고 할 수 있는 HTTP에 대해 알아보도록 한다. HTT sehun5515.tistory.com HTTP 메시지 이전 포스트에서 HTTP의 특성 중 하나로 클라이언트 - 서버 구조가 있었다. 이는 클라이언트가 어떤 데이터에 대해 요청(Request)을 하면 서버가 그 요청을 받고 요청에 대한 동작을 수행한 뒤, 그 결과를 클라이언트에게 다시 응답(Response)하는 구조를 뜻한다. 이..
HTTP - HTTP의 뜻과 특성
2023. 5. 13. 01:01
CS/HTTP
들어가며 이전 포스트에서는 리소스를 식별할 수 있는 방법인 URI에 대해 알아보았다. 이번 포스트에서는 웹 개발에서 가장 핵심적인 프로토콜이라고 할 수 있는 HTTP에 대해 알아보도록 한다. HTTP의 정의 HTTP는 Hyper Text Transfer Protocol의 두문자로 HTTP 메세지에 모든 데이터를 전송할 수 있다. HTTP는 현재 1.1버전, 2버전, 3버전이 존재한다. HTTP/1.1은 현재 우리가 가장 많이 사용하는 HTTP 프로토콜 버전이다. HTTP/2는 1.1에서 성능이 개선된 버전이다. HTTP/3은 현재 개발 진행중으로 1.1과 2버전이 기반 연결 프로토콜로 TCP를 사용하는데 반하여 UDP를 사용한다. UDP는 이전에 간략히 설명했지만 TCP에 비하여 신뢰적 연결에 대한 기능..