HTTP와 HTTPS

3000·2021년 7월 18일
0
  • HTTP
  • HTTPS
  • Status Code
  • Request Method

HTTP

HyperText Transfer Protocol의 약자로,
HTML이나 JSON과 같은 다양한 데이터를 HTTP를 통해 교환할 수 있습니다.
HTTP의 구조는 요청(Request)과 응답(Response)으로 구성되어 있으며,
client가 server에 Request를 보내면, server에서 client로 요청에 대한 Response를 보내는 방식입니다.

client가 특정 url에 접속할 경우, sever에서 해당하는 url에 맞는 HTML 문서, 이미지, 스크립트 등을 client에게 전달하게 됩니다.


HTTPS

HyperText Transfer Protocol Secure의 약자로, 보안에 취약한 HTTP를 보완하기 위해서 만들어 졌습니다. HTTP는 암호화되지 않은 데이터를 주고받기 때문에 이를 탈취하기 매우 쉽습니다.
따라서 이를 방지하기 위해 암호화하는 과정이 추가되었으며, 암호화하기 위해 SSL이나 TLS을 사용합니다. 이는 client와 server가 민감한 정보를 안전하게 주고 받도록 해줍니다.

현재는 더욱 발전한 HTTP v1, HTTP v2, HTTP v3가 있습니다.


Status Code

HTTP 요청에 대한 결과를 알려주기 위해 사용합니다.
Status Code는 보통 응답과 함께 client에게 보내지며, 1xx ~ 5xx와 같이 세자리의 숫자로 나타냅니다.

이 응답의 종류는 크게 5가지로, 첫번째 숫자로 이를 구분합니다.

1xx : 정보를 제공합니다.

  • 102 Processing - 처리중일 때

2xx : 응답의 성공을 알립니다.

  • 200 OK
  • 201 Created - 성공적으로 만들어졌을 때
  • 204 No Content - 보내줄 컨텐츠가 없을 때

3xx : Redirect로 요청한 url이 변경되었음을 알립니다.

4xx : 클라이언트 에러를 알립니다. 잘못된 방식으로 요청하였을 때 주로 나타납니다.

  • 400 Bad Request - 잘못된 방식으로 요청할 때
  • 401 Unauthorized - 권한이 없을 때, 보통 로그인하지 않은 사용자가 요청했을 때를 나타냅니다.
  • 403 Forbidden - 로그인한 사용자이지만 권한이 없을 때
  • 404 Not Found - 원하는 Url이 존재하지 않을 때

5xx : 서버에 에러가 있음을 알립니다.

더 자세한 내용은 Status Code에서 확인하실 수 있습니다.


Request Method

클라이언트가 서버에 Request를 보낼때 원하는 액션이 무엇인지 나타낼 때 사용합니다.
데이터를 읽는 GET, HEAD, OPTIONS와
데이터를 변경하는 POST, PUT, PATCH, DELETE가 있습니다.

  • GET : 해당하는 URL의 데이터를 요청합니다.
  • HEAD : GET과 비슷하지만, Body를 제외한 Head부분의 데이터만 요청합니다
  • POST : 데이터를 추가합니다. (게시판에 글을 쓸 때)
  • PUT : 기존 데이터를 업데이트합니다.
  • PATCH : 데이터를 부분적으로 업데이트합니다.
  • DELETE : 특정 데이터를 삭제 요청합니다.
  • OPTIONS : 해당 URL에서 지원하는 요청 목록을 받아옵니다.

이외에도 여러 Method들이 있습니다. 자세한 내용은 링크를 통해 확인하시면 좋습니다.

0개의 댓글