통신과 HTTP

누리·2022년 9월 29일
0
post-thumbnail

How do we communicate?

H : Hyper Text : HTML 문서와 문서가 링크로 연결되어 있음을 뜻함

T : Transfer : HTML로 만든 웹페이지 문서(파일)을 보낸다

P : Protocol : 텍스트를 교환,전송을 위한 통신 규약이다

1요청 에는 1응답

HTTP 두가지 특징

  1. Request / Resplse
    소통의 핵심은 요청과 응답. 인간의 소통방식이 컴퓨터끼리의 소통방식에도 적용된 것
    말이 아닌 메세지의 형식으로 요청하고 응답한다
  2. Statelsee
    HTTP 개별 통신은 모두 독립이어서, 과거의 HTTP 통신의 결과(상태)를 보존하지 않는다

    내가 원하는 응답을 받기 위해서는 매 통신마다 사전에 필요한 모든 정보를 담아서 요청을 보내야만 한다

HTTP 메세지 구조

  1. Request 메세지 구조
  • Start Line : 요청의 첫번째 줄 (HTTP method : 요청이 의도한 액션을 정의, Request target : 요청이 전송되는 목표 url, HTTP version : HTTP 버전)
  • Headers : 요청의 메타데이터를 담고 있는 부분 (Host, User-Agent, Content-Type, Content-Length)
  • Body : 요청의 실제 내용 (요청 메소드에 따라 존재하지 않을 수 있음)
  1. Response 메세지 구조
  • Status Line : 응답의 첫번째 줄 (HTTP version : HTTP 버전, Status Code : 응답 상태 코드, Status Text : 응답의 상태를 간략히 설명하는 텍스트)
  • Headers : 응답의 메타데이터를 담고 있는 부분
  • Body : 응답해줄 데이터

HTTP Request Methods

  1. GET : 데이터를 받아오기만 할 때 사용. 웹페이지에 접속해서 필요한 데이터를 불러올 때 사용
  2. POST : 데이터를 생성/ 수정할 때 사용. Body에 담는 내용이 핵심!
  3. DELETE : 서버에 저장된 특정 데이터를 삭제할 때 사용

Status code

  1. Success :
    • 200: OK : 문제없이 요청에 대한 처리가 백엔드 서버에서 이루어지고 나서 오는 응답코드
    • 201: Created : 무언가가 잘 생성되었을 때 오는 Status code
      POST 요청 또는 일부 PUT 요청 이후에 따라온다
    • 204: No Content : 요청이 성공했으며 제공할 응답메세지가 없을 경우 사용하는 Status code
  2. Error :
    • 400: Bad Request : 해당 요청이 잘못되었을 때 보내는 Status code
    • 401: Unauthorized : 해당 요청을 진행하려면 먼저 로그인 또는 회원가입이 필요하다는 의미를 나타내는 Status code
    • 403: Forbidden : 유저가 해당 요청에 대한 권한이 없다는 의미를 나타내는 Status code
      접근 불가능한 정보에 접근했을 경우를 의미
    • 404: Not found : 서버가 요청받은 리소스를 찾을 수 없을 때 나타내는 Status code 이때의 리소소는 브라우저에서는 알려지지 않은 URL을 의미한다.
  3. Server Error :
    • 500: internal Server Error : 웹 사이트 서버에 문제가 있을때 나타내는 Status code (서버는 정확한 문제에 대해 더 구체적으로 설명할 수 없다)

Status code & Status message : 요청이 성공했을 때 응답으로 메세지로 분기 처리를 해둘 수 가 있다.
원활한 개발을 위해 분기 처리로 status code로 하는 것이 좋다

profile
프론트엔드 개발자

0개의 댓글