📕 HTTP METHOD에 대해 설명해주세요.
HTTP METHOD란 클라이언트가 웹 서버에게 사용자 요청의 목적이나 종류를 알리는 수단으로 GET, POST, PUT, PATCH, DELETE 등이 있습니다.
- GET - 서버의 데이터 조회
- POST - 서버에 데이터 등록
- PUT - 서버의 데이터 갱신, 데이터가 없다면 생성
- PATCH - 데이터의 일부 변경
- DELETE - 리소스 삭제
📕 HTTP METHOD에서 GET과 POST의 차이점에 대해 설명해주세요.
GET은 주소 뒤에 쿼리스트링이 그대로 전달되어 보안성이 떨어지고 속도가 빠르며,
POST는 주소가 전달 될 때 인코딩하여 전달되어 보안성은 높지만 전송속도가 느립니다.
또한, GET요청은 캐시가 되나, POST는 캐시 되지 않는다는 것과
GET은 브라우저에 기록되지만 POST는 기록되지 않는다는 차이점이 있습니다.
📕 HTTP METHOD의 속성에 대해서 설명해주세요.
HTTP 메소드의 송성에는 안전(Safe Methods), 멱등(Idempotent Methods), 캐시가능(Cacheable Methods)가 있습니다.
- 안전 (Safe Methods) - 계속해서 메소드를 호출해도 리소스를 변경하지 않는다는 뜻으로
주요 메소드 중에는 GET 메소드가 안전하다고 볼 수 있습니다. - 멱등 (Idempotent Methods) - 메소드를 계속 호출해도 결과가 똑같다는 뜻으로
주요 메소드 중에서는 GET, PUT, DELETE는 멱등하다고 볼 수 있지만 POST나 PATCH는 멱등하다고 볼 수 없습니다. - 캐시가능 (Cacheabel MEthods) - 캐싱을 해더 데이터를 효율적으로 가져올 수 있다는 뜻으로
GET, POST, PATCH가 캐시가 가능하지만 실제로는 GET만 주로 캐싱에 쓰입니다.
📕 HTTP 상태 코드에 대해 설명해주세요.
http 상태 코드는 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능입니다. 보통 100번대에서 500번대를 사용합니다
- 1xx (Informational) - 요청이 수신되어 처리중
- 2xx (Successful) - 요청 정상 처리
- 3xx (Redirection) - 요청을 완료하려면 추가 행동이 필요
- 4xx (Client Error) - 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음
- 5xx (Server Error) - 서버 오류, 서버가 정상 요청을 처리하지 못함
📕 WAS와 WS의 차이를 설명해주세요.
WAS란 Web Application Server의 약자로 비즈니스 로직을 넣을 수 있는 Tomcat, PHP등과 같은 서버를 말하며,
WS란 Web Server의 약자로 비즈니스 로직을 넣을 수 없는 Nginx, Apache등과 같은 서버를 말합니다.
📕 Restful API에 대해 설명해주세요.
REST(REpresentational State Transfer)ful API는 HTTP 통신에서 어떤 자원에 대한 CRUD 요청을 Resource와 Method로 표현하여 특정한 형태로 전달하는 방식입니다. RESTful API는 아래와 같은 것들로 구성됩니다.
- Resource(자원, URI)
- Method(요청 방식, GET or POST 등)
- Representation of Resource(자원의 형태, JSON or XML 등)