CS지식/네트워크

HTTP 메서드 | TIL_143

ran4 2022. 9. 14. 23:03

https://www.youtube.com/playlist?list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi 

위의 강의를 듣고 정리한 내용입니다

 


 

HTTP 메서드

요청 프로토콜의 간략한 구조 

 

Request Line
Headers
공백
Body

 

 

헤더 - Headers : 일종의 옵션이라고 생각하면 된다. 옵션이 여러 개 들어갈 수 있다

Body : 데이터를 요청할 때 보내는 추가적인 데이터가 포함된다

 

 

일반적인 HTTP 요청 프로토콜의 실제 구조

Request Line

간략한 구조

요청 타입 공백 URI 공백 HTTP 버전

 

-> 요청 타입과 URI를 알아야 한다 

 

 

HTTP 메서드 요청 방식

 

메서드 종류 설명
GET 클라이언트가 서버로부터 문서를 읽어오려 할 때 사용한다
데이터를 요청할 때 사용
HEAD 클라이언트가 문서에 대한 특정 정보를 원할 경우 사용한다
POST 클라이언트가 서버에게 어떤 정보를 전송할 때 사용한다
클라이언트 -> 서버 데이터를 보낼 때 사용한다
PUT 클라이언트가 서버에 특정 자원을 업로드할 때 사용한다
PATCH PUT과 비슷하나
기존 파일에서 변경 사항만을 포함하여 업로드한다
COPY 파일을 다른 위치로 복사하기 위해 사용한다
MOVE 파일을 다른 위치로 이동하기 위해 사용한다
DELETE 서버에서 문서를 제거하기 위해 사용한다
LINK 문서에서 다른 위치로의 링크를 생성하기 위해 사용한다
UNLINK Link Method에 의해 생성된 링크를 삭제하기 위해 사용한다
OPTION Client가 Server에게 사용 가능한 옵션을 질의하기 위해 사용한다

 

COPY, MOVE, DELETE는 보안상 막을 수 있다

-> 클라이언트가 건드릴 수 있으면 안되기 때문이다

 

OPTION 또한 정보를 읽지 못하게 하기 위해 보통은 허용하지 않는다

 

GET과 POST가 가장 중요한 개념이지만, 사실상 둘의 차이는 애매하다

GET : 클라이언트가 서버로부터 문서를 읽어오려 할 때 사용한다

하지만, 데이터를 요청할 때 사용하지만, 요청하면서 데이터를 서버로 보낼 수 있다

 

POST : 클라이언트가 서버에게 어떤 정보를 전송할 때 사용한다

클라이언트 -> 서버 데이터를 보낼 때 사용한다

-> 원래는 데이터를 보내는 용도지만, 보내면서 요청도 할 수 있다

 

 

GET/ POST 두 메서드를 나눈 이유?

GET은 요청 데이터의 uri를 주소창에 포함시켜서 전달하지만,

POST는 주소창에 포함하지 않고 Body에 숨겨서 전달한다

-> uri가 노출되어도 중요하지 않은 경우에는 GET방식을, 노출되면 안될 때는 POST 방식을 쓴다

 

하지만 POST 방식도 Body에서 읽을 수 있다는 단점이 있기 때문에

보안적으로는 HTTPS를 사용해야 한다

-> 적어도 로그인 만큼은 HTTPS를 사용하는 것이 좋다

 

'CS지식 > 네트워크' 카테고리의 다른 글

HTTP 헤더 포맷 | TIL_145  (0) 2022.09.19
HTTP 요청, 응답 프로토콜 | TIL_144  (0) 2022.09.16
7계층 프로토콜 HTTP | TIL_142  (0) 2022.09.12
NAT와 포트포워딩 | TIL_141  (0) 2022.09.07
TIL 정리_130(TCP 전송, 상태)  (0) 2022.08.05