인터넷 콘텐츠를 전달하는 TCP 프로토콜의 일종인 HTTP에 S(Secure) 기능을 더한 것입니다. HTTPS는 SSL(Secure Socket Layer)/TLS(Transport Layer Security) 전송 기술을 사용합니다. TCP,UDP와 같은 일반적인 인터넷 통신에 안전 계층을 추가하는 방식이며 이 기술을 구현하기 위해 웹 서버에 설치하는 것이 SSL/TLS 인증서 입니다.
SSL 핸드 셰이크 과정
1) 클라이언트 - 클라이언트가 먼저 서버에 접속해서 말을 겁니다.
2) 서버 - 서버 또한 위의 인사에 응답하며 다음 정보를 클라이언트에 제공합니다.
3) 클라이언트 - 브라우저는 서버의 SSL 인증서가 믿을만한지 확인합니다.
4) 클라이언트 - 브라우저는 자신이 생성한 난수와 서버의 난수를 사용하여 premaster secret을 만듭니다.
5) 서버/클라이언트 - SSL handshake를 종료하고 드디어 HTTPS 통신을 시작합니다.
- Get은 입력한 정보가 url에 노출되고, 정보를 보여줘도 상관없는 기능을 수행할 때 get 메소드를 수행하게 됩니다.
[Get 방식 특징]
1. 한번의 데이터 요청시 전송 데이터 양은 주소값 + 파라미터로 255자로 제한이 됩니다.
2. 저장된 data를 단순히 요청할 때 사용한다.
3. URL에 그대로 query의 이름과 값이 연결되어 표현된다.
- Post는 입력한 정보를 숨겨서 로그인 상황이나, 중요한 데이터를 보내는 상황에서 수행하게 됩니다.
[Post 방식 특징]
1. 요청시 데이터 양의 제한이 없습니다.
2. url상에 나타나지 않아 보안상 좋습니다.
결론 !
get은 서버에서 어떤 데이터를 가져와서 보여줄 때 사용합니다. 어떤 값이나 내용, 상태 등을 바꾸지 않는 경우에 사용을 하는 것입니다. ex) 글목록 조회, 글조회
post는 서버상의 데이터 값이나 상태를 바꾸기 위해서 사용합니다. ex) 글쓰기, 글수정
HTTP 메서드는 클라이언트가 하고 싶은 처리를 서버에게 전하는 역할을 합니다. 메서드는 총 8개가 존재합니다.
REST란
REST(Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미합니다.
(1) HTTP URI를 통해 자원(Resource)을 명시하고,
(2) HTTP Method(POST, GET, PUT, DELETE)를 통해
(3) 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미합니다
[REST 구성 요소]
(1) 자원 : HTTP URI
(2) 자원에 대한 행위 : HTTP Method
(3) 자원에 대한 행위의 내용 : HTTP Message Pay Load
REST API란
REST API란 REST의 원리를 따르는 API를 의미합니다. REST API를 올바르게 설계하기 위해서는 지켜야 하는 몇가지 규칙이 있습니다.
(1) URI는 동사보다는 명사를, 대문자보다는 소문자를 사용
(2) 마지막에 슬래시를 포함하지 않는다
(3) 언더바 대신 하이폰을 사용한다
(4) 파일 확장자는 URI에 포함하지 않는다
(5) 행위를 포함하지 않는다
RESTful이란 REST의 원리를 따르는 시스템을 의미합니다. 하지만 REST를 사용했다하여 모두가 RESTful한 것은 아닙니다. REST API의 설계 규칙을 올바르게 지킨 시스템을 RESTful하다 말할 수 있습니다.
출처)
https://brunch.co.kr/@sangjinkang/38
https://ideveloper2.tistory.com/61
https://velog.io/@josworks27/HTTP-Request-정리
https://khj93.tistory.com/entry/네트워크-REST-API란-REST-RESTful이란