본문 바로가기
나만 보는 정리노트/ETC

HTTP Method

by SeoKhan 2022. 12. 1.

Get

서버에게 Resource를 보내도록 요청하는데 사용 (서버의 Resource를 읽음)

Get


Head

GET과 동일하지만 서버에서 Body를 Return 하지 않음

 

[사용 시기]

  • Resource를 받지 않고 오직 찾기만 원할때
  • object가 존재할 경우 응답의 상태 코드를 확인할때
  • 서버의 응답 헤더를 봄으로써 Resource가 수정 되었는지 확인

Head


Put

서버에 문서를 쓸때 사용 (GET과 반대), 서버가 Client 요청의 Body를 확인한다.

 

[사용 시기]

  • 요청된 URL에 정의된 새로운 Resource를 생성하기 위함
  • 요청된 URL이 존재할 경우 대체하여 사용

Put


Post

Server에 Input Data를 보내기 위함 (HTML form에 많이 사용)

 

[Put vs Post]

  • PUT, 서버의 Resource에 Data를 저장하기 위한 용도
  • POST, 서버에 DATA를 보내기 위한 용도

Method별 사용처

CRUD == Create(생성), Read(읽기), Update(갱신), Delete(삭제)

Post


Trace

Client로 부터 Request Packet이 방화벽, Proxy Server, Gateway등을 거치면서 packet의 변조가 일어날 수 있는데, 이 때 Server에 도달 했을 때의 최종 Packet의 Request Packet을 볼수 있다.

  •  Original Data와 서버에 도달했을 때의 비교본 Data를 서버의 응답 Body를 통해 확인 할 수 있다.

 

※ 확인사항

  • 요청의 최종 수신자는 반드시 송신자에게 200(OK) 응답의 내용(Body)로 수신한 메세지를 반송해야 한다.
  • 최초 Client의 요청에는 Body가 포함될수 없다.

Trace


Option

Target Server의 지원 가능한 method(GET, POST 등)를 알아본다.

Option


Delete

요청 Resource를 삭제하도록 요청

 

※ 확인사항

  • HTTP 규격에는 Client의 요청에도 서버가 무효화 시킬수 있도록 정의되어 있다.
  • DELETE Method는 항상 보장되지 않는다.

Delete


Status Code

1xx (정보제공)

  • HTTP 1.1 에서 제공
  • Expect 헤더가 전송되어지면 초기 요청내의 폼 데이터(body)는 전송되지 않는다.
  • 웹서버가 해당 응답을 할수 있도록 구현 했다면 100 continue로 응답하지만, 모든 웹서버가 그런것은 아니다.

[사용 시기]

  • HTTP Client Application에서 서버에 Entiti Body를 보내기 전에 해당 Body를 받을 수 있는지 서버에 check 할 때 사용

2xx (성공)

3xx (리다이렉션)

4xx (클라이언트요청오류)

  • 403 Forbidden, 해당 접근이 거부되었을 때(허용되지 않은 메소드, ID/PASSWD로 인증 실패 등)
  • 406 Not Acceptable, 서버에서 ACL 걸었을 때

5xx (서버응답오류)

  • 500 Interner Server Error, 내부 서버 오류(일반적으로 SQL에서 문제가 발생)
  • 503 Service Unavailable, 서비스 불가능(일반적으로 Proxy장비에서 서버에 서비스가 불가능할 때)

 

 

 

 

 

Reference
[1] https://medium.com/@lyhlg0201/http-method-d561b77df7

'나만 보는 정리노트 > ETC' 카테고리의 다른 글

Labelimg 프로그램 단축키 작동이 안될 때  (0) 2023.04.13
Python f-string  (0) 2022.12.02
REST API  (0) 2022.12.01
/etc/sudoers: syntax error near line ~  (0) 2022.12.01
Get vs Post  (0) 2022.12.01