HTTP
- 웹상에서 클라이언트와 서버간에 요청/응답으로 데이터를 주고 받을 수 있는 프로토콜
GET
- 서버로부터 정보를 조회하기 위해 설계된 메소드
- DATA를 Body에 담지 않고 쿼리스트링을 통해 전송
- GET방식을 사용하는 경우는 개인정보가 포함되지 않는 상황에서 캐싱을 하여 속도를 높이거나 즐겨찾기를 편리하게 하기위해 사용되는 경우가 많음
- ※ 캐싱 : 한번 접근 후 또 요청할시 빠르게 접근하기 위해 레지스터에 데이터를 저장시켜 놓는 것.
- Ex) www.naver.com/notice?id=val1&name=val2
POST
- DATA를 생성/변경하기 위해 설계되었기 때문에 GET과 달리 전송해야될 DATA를 HTTP메세지의 Body에 담아서 전송
- Body는 길이제한이 없기 때문에 GET과 달리 대용량 데이터를 전송 가능
- GET과는 다르게 눈에 보이지 않기 때문에 보안적인 측면에서 안전
- POST요청도 크롬개발자도구와 같은 툴로 요청내용을 확인할 수 있기 때문에 민감한 DATA는 암호화해서 전송해야함
- 캐싱 불가능
- 문자열뿐만 아니라 라디오버튼, 텍스트박스와 같은 객체들의 값도 전송 가능
- POST요청시 요청헤더의 Content-Type에 요청데이터의 타입을 표시해야함
- ※ Content-Type : Request에 실어보내는 Data Body의 type 정보를 표현하는 것
- Ex)
- html type : text/css, text/javascript, text/html, text/plain
- File : multipart/formed-data
- Application : application/json, application/x-www-form-urlencode
- Ex)