GET 방식
우리가 필요한 정보를 얻기 위해 도서관에서 책을 빌려 가져오는(GET)상황과 유사하게 GET은 어떠한 정보를 가져와서 조회하기 위해서 사용되는 방식
GET 방식의 특징
1️⃣ URL에 변수(데이터)를 포함시켜 요청
2️⃣ 데이터를 Header(헤더)에 포함하여 전송
3️⃣ URL에 데이터가 노출되어 보안에 취약함
4️⃣ 전송하는 길이에 제한
5️⃣ 캐싱할 수 있음
GET 방식은 간단한 데이터를 URL에 넣도록 설계된 방식으로 데이터를 보내는 양에 한계가 있음
즉, URL의 길이가 정해져있기 때문에, 많은 양의 정보를 전달할 수 없으며 URL형식에 맞지 않는 파라미터 이름이나 값은 인코딩되어 전달해야함
POST 방식
데이터를 서버로 제출하여 추가 또는 수정하기 위해서 사용하는 방식
POST 방식의 특징
1️⃣ URL에 변수(데이터)를 노출하지 않고 요청
2️⃣ 데이터를 Body(바디)에 포함
3️⃣ URL에 데이터가 노출되지 않아서 기본 보안은 되어있음
4️⃣ 전송하는 길이에 제한이 없음
5️⃣ 캐싱할 수 없음
GET방식은 URL에 데이터를 붙여서 전송하는 반면에 POST방식은 BODY에 데이터를 넣어서 전송함
따라서 헤더필드 중 Body의 데이터를 설명하는 Content-Type이라는 헤더 필드가 들어가고 어떠한 데이터 타입인지를 명시해야함
데이터를 Body에 포함시키는 이점 때문에 메세지 길이의 제한은 없지만 최대 요청을 받는 시간인 Time Out이 존재하므로 클라이언트에서 페이지를 요청하고 기다리는 시간이 존재함
POST 방식은 URL에 데이터가 노출되지 않으므로 즐겨찾기나 캐싱이 불가능하지만 쿼리스트링(문자열)데이터 뿐만 아니라, 라디오 버튼, 텍스트 박스와 같은 객체들의 값도 전송 가능
GET과 POST
GET은 서버로부터 정보를 조회하기 위하여 설계된 메소드임
GET은 요청을 전송할 때 필요한 데이터를 Body에 담지 않고, 쿼리스트링을 통해 전송함
반면, POST는 리소스를 생성/변경하기 위해 설계된 메소드
GET과 달리 전송해야될 데이터를 HTTP 패킷의 Body 에 담아서 전송
HTTP 메세지의 Body는 길이의 제한없이 데이터를 전송할 수 있음
그래서 POST 요청은 GET과 달리 대용량 데이터를 전송할 수 있음
Get과 Post 차이점
1️⃣ Get은 주로 웹 브라우저가 웹 서버에 데이터를 요청할 때 사용
2️⃣ Post는 웹 브라우저가 웹 서버에 데이터를 전달하기 위해 사용
3️⃣ Get을 사용하면 웹 브라우저에서 웹 서버로 전달되는 데이터가 인코딩되어 URL에 붙음
4️⃣ Post 방식은 전달되는 데이터가 보이지 않음
5️⃣ Get 방식은 전달되는 데이터가 255개의 문자를 초과하면 문제가 발생할 수 있음
6️⃣ 웹서버에 많은 데이터를 전달하기 위해서는 Post방식을 사용하는 것이 바람직함
'면접 준비 > 코딩테스트' 카테고리의 다른 글
자바의 메모리 구조 영역 (0) | 2020.12.16 |
---|---|
추상클래스와 인터페이스 (0) | 2020.12.15 |
$(document).ready()와 $(window).load() (0) | 2020.12.11 |
http 에러 코드 정리 (0) | 2020.12.10 |
버블 정렬, 선택 정렬, 피보나치 수열 (0) | 2020.12.08 |