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 |