반응형
1편에 이어서 추가적으로 공부한 내용들에 대해 정리해보았습니다.
단편적이고 간단한 HTTP에 대한 지식입니다.
만약 1편이 안보셨거나 궁금하시다면 아래 링크에서 찾아보시길 바랍니다.
HTTP의 포맷
- Response를 전송할때 어떤 Type으로 응답할지 정해주는 것이다. (content-type)
MIME (Multipurpose Internal Mail Extentions)
email 서비스를 위한 것이다.
여기서 email은 네이버나 구글 같은 웹메일을 얘기하는것이 아니며 예전에 사용했던 email이라는 인터넷 서비스를 위한 표준이다.
HTTP content-type의 종류
HTTP 통신
- 총 4개의 Layer로 구분한다.
- HTTP는 TCP를 이용하여 통신을 한다.
- TCP는 신뢰성이 있는 통신이다.
- 신뢰성을 보장하기 위해 3-Way-HandShake를 이용한다.
한 쪽은 데이터를 전송하고 다른 한 쪽은 수신할때 세 방향으로 잘 전송되었는지 확인하는 방법이다.
3-Way-HandShake
3-Way-HandShake의 작동 방법
- Sender에서 SYN이라는 무작위 숫자를 첨부하여 전송한다.
- Reciever에서 SYN에 1을 더하고, 새로운 무작위 숫자와 함께 첨부하여 다시 전송한다.
- Sender에서 Reciever에서 SYN에 1이 더해져 있는것을 확인하고 전달받은 무작위 숫자에 1을 더한 후 다시 전송한다.
- 위 과정이 끝나면 HTTP Data를 전송한다.
TCP는 네트워크를 구성하기 위해 3-Way-HandShake를 사용한다는 사실이 가장 중요하다!
HTTP 메소드
- HTTP Request를 전달할때 맨 앞에 HTTP Method (요청방식)이 있다.
- 종류는 총 8가지이다. (주로 GET과 POST를 가장 많이 사용한다.)
HTTP 메소드의 종류
- 주소창 검색은 GET, 로그인은 POST가 일반적이다.
- GET : URL 뒤에 쿼리 스트링으로 정보를 전달한다.
- POST : Request Body에 담겨서 정보가 전달된다.
HTTP 응답 코드
- 403, 404 그리고 502 상태는 평소에도 쉽게 접해볼수 있다.
HTTP의 로그인
Cookie
- 사용자 구분을 위한것으로 쿠키를 가장 많이 사용한다.
WHY?
HTTP는 Stateless 상태이므로 서버에 상태를 저장할수 없기 때문이다!
쿠키 외에도 IP추적이나 Authentication, URL에 식별자를 포함하는 방식들이 존재한다.
Cookie의 작동방식
- 클라이언트가 서버에 데이터 요청시 사용자 확인이 필요시 Set-Cookie라는 명령에 Session-ID를 첨부하여 전송한다.
- 클라이언트는 Session-Id를 수신해 쿠키 값을 생성한다. (Session-id는 상당히 긴 숫자로 이루어져 있다!)
- 클라이언트는 서버에 쿠키 데이터와 데이터 요청을 같이 전송한다.
Cookie의 용도
- 세션관리
- 개인화 (ex. 장바구니)
- 트래킹 (ex. 사용자 정보 추적)
2편을 마지막으로 간단하게나마 HTTP의 단편적이고 핵심적인 지식들을 남겨보았습니다.
반응형
'Backend > Network' 카테고리의 다른 글
HTTP 기초 1편 - HTTP 이론 1 (0) | 2023.06.21 |
---|