HTTP 요청 방법


HTTP 란 무엇입니까?

HTTP(Hypertext Transfer Protocol)는 클라이언트와 서버 간의 통신을 가능하게 하도록 설계되었습니다.

HTTP는 클라이언트와 서버 간의 요청-응답 프로토콜로 작동합니다.

예: 클라이언트(브라우저)가 서버에 HTTP 요청을 보냅니다. 그런 다음 서버는 클라이언트에 응답을 반환합니다. 응답에는 요청에 대한 상태 정보가 포함되며 요청된 콘텐츠도 포함될 수 있습니다.


HTTP 메소드

  • 가져 오기
  • 게시하다
  • 놓다
  • 머리
  • 삭제
  • 반점
  • 옵션

가장 일반적인 두 가지 HTTP 메서드는 GET 및 POST입니다.


GET 메서드

GET은 지정된 리소스에서 데이터를 요청하는 데 사용됩니다.

GET은 가장 일반적인 HTTP 메소드 중 하나입니다.

쿼리 문자열(이름/값 쌍)은 GET 요청의 URL로 전송됩니다.

/test/demo_form.php?name1=value1&name2=value2

GET 요청에 대한 기타 참고 사항:

  • GET 요청을 캐시할 수 있습니다.
  • GET 요청은 브라우저 기록에 남아 있습니다.
  • GET 요청을 북마크에 추가할 수 있습니다.
  • 민감한 데이터를 처리할 때 GET 요청을 사용해서는 안 됩니다.
  • GET 요청에는 길이 제한이 있습니다.
  • GET 요청은 데이터 요청에만 사용됩니다(수정 불가).

POST 메서드

POST는 리소스를 생성/업데이트하기 위해 서버에 데이터를 보내는 데 사용됩니다.

POST를 통해 서버로 전송된 데이터는 HTTP 요청의 요청 본문에 저장됩니다.

POST /test/demo_form.php HTTP/1.1
Host: w3schools.com

name1=value1&name2=value2

POST는 가장 일반적인 HTTP 방법 중 하나입니다.

POST 요청에 대한 기타 참고 사항:

  • POST 요청은 캐시되지 않습니다.
  • POST 요청은 브라우저 기록에 남아 있지 않습니다.
  • POST 요청을 북마크할 수 없습니다.
  • POST 요청에는 데이터 길이에 대한 제한이 없습니다.


PUT 메서드

PUT은 리소스를 생성/업데이트하기 위해 서버에 데이터를 보내는 데 사용됩니다.

POST와 PUT의 차이점은 PUT 요청이 멱등적이라는 것입니다. 즉, 동일한 PUT 요청을 여러 번 호출하면 항상 동일한 결과가 생성됩니다. 반대로 POST 요청을 반복적으로 호출하면 동일한 리소스를 여러 번 생성하는 부작용이 있습니다.


HEAD 방식

HEAD는 GET과 거의 동일하지만 응답 본문이 없습니다.

즉, GET /users가 사용자 목록을 반환하면 HEAD /users는 동일한 요청을 하지만 사용자 목록은 반환하지 않습니다.

HEAD 요청은 큰 파일이나 응답 본문을 다운로드하기 전과 같이 실제로 GET 요청을 하기 전에 GET 요청이 반환할 내용을 확인하는 데 유용합니다.


DELETE 메서드

DELETE 메소드는 지정된 자원을 삭제합니다.


OPTIONS 메서드

OPTIONS 메서드는 대상 리소스에 대한 통신 옵션을 설명합니다.


GET과 POST 비교

다음 표에서는 GET 및 POST라는 두 가지 HTTP 메서드를 비교합니다.

  GET POST
BACK button/Reload Harmless Data will be re-submitted (the browser should alert the user that the data are about to be re-submitted)
Bookmarked Can be bookmarked Cannot be bookmarked
Cached Can be cached Not cached
Encoding type application/x-www-form-urlencoded application/x-www-form-urlencoded or multipart/form-data. Use multipart encoding for binary data
History Parameters remain in browser history Parameters are not saved in browser history
Restrictions on data length Yes, when sending data, the GET method adds the data to the URL; and the length of a URL is limited (maximum URL length is 2048 characters) No restrictions
Restrictions on data type Only ASCII characters allowed No restrictions. Binary data is also allowed
Security GET is less secure compared to POST because data sent is part of the URL

Never use GET when sending passwords or other sensitive information!
POST is a little safer than GET because the parameters are not stored in browser history or in web server logs
Visibility Data is visible to everyone in the URL Data is not displayed in the URL