Get
서버에게 Resource를 보내도록 요청하는데 사용 (서버의 Resource를 읽음)
Head
GET과 동일하지만 서버에서 Body를 Return 하지 않음
[사용 시기]
- Resource를 받지 않고 오직 찾기만 원할때
- object가 존재할 경우 응답의 상태 코드를 확인할때
- 서버의 응답 헤더를 봄으로써 Resource가 수정 되었는지 확인
Put
서버에 문서를 쓸때 사용 (GET과 반대), 서버가 Client 요청의 Body를 확인한다.
[사용 시기]
- 요청된 URL에 정의된 새로운 Resource를 생성하기 위함
- 요청된 URL이 존재할 경우 대체하여 사용
Post
Server에 Input Data를 보내기 위함 (HTML form에 많이 사용)
[Put vs Post]
- PUT, 서버의 Resource에 Data를 저장하기 위한 용도
- POST, 서버에 DATA를 보내기 위한 용도
CRUD == Create(생성), Read(읽기), Update(갱신), Delete(삭제)
Trace
Client로 부터 Request Packet이 방화벽, Proxy Server, Gateway등을 거치면서 packet의 변조가 일어날 수 있는데, 이 때 Server에 도달 했을 때의 최종 Packet의 Request Packet을 볼수 있다.
- Original Data와 서버에 도달했을 때의 비교본 Data를 서버의 응답 Body를 통해 확인 할 수 있다.
※ 확인사항
- 요청의 최종 수신자는 반드시 송신자에게 200(OK) 응답의 내용(Body)로 수신한 메세지를 반송해야 한다.
- 최초 Client의 요청에는 Body가 포함될수 없다.
Option
Target Server의 지원 가능한 method(GET, POST 등)를 알아본다.
Delete
요청 Resource를 삭제하도록 요청
※ 확인사항
- HTTP 규격에는 Client의 요청에도 서버가 무효화 시킬수 있도록 정의되어 있다.
- DELETE Method는 항상 보장되지 않는다.
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 |