분류 php

Javascript / NodeJS 개발자를 위한 Laravel 6 및 VueJS 학습 3 부-라우팅 일반 기본 사항

컨텐츠 정보

  • 조회 309 (작성일 )

본문

라라벨과 vuejs에서 일반적으로 라우팅에 대해 조금 이야기 해 봅시다.


웹에는 여러 종류의 라우팅이 있습니다.


호스트 기반 라우팅 


이 웹 사이트를 방문하려면 dev.to를 입력했을 것입니다. dev.to는 기억하기 쉬운 호스트 이름입니다. 호스트는 이 호스트 이름 뒤에 있는 실제 서버 / 컴퓨터입니다.

일반적으로 dev.to를 (웹) 도메인으로 호출합니다. 하위 도메인도 있습니다.

예를 들어 wev.dev.to, mail.dev.to 또는 api.dev.to입니다. 처음까지의 부분. dev.to의 하위 도메인입니다. mail.dev.to는 전 세계에서 완전히 다른 지역에 있는 완전히 다른 서버 일 수 있습니다.

이제 호스트 기반 라우팅을 이해해야 합니다. 호스트를 연결하여 웹을 탐색한다는 의미입니다.


경로 기반 라우팅 


이제 도메인이 무엇인지 알았습니다. 경로 기반 라우팅에 대해 이야기 할 수 있습니다. 이 기사를 보려면 해당 페이지의 URL이 dev.to가 아니라는 것을 알 수 있습니다. 또한 dev.to 후에 추가 기능이 있습니다. dev.to/lampewebdev/XXX와 같은 형식이어야 합니다.

라우팅에서 전체 경로를 고려하면 처음부터 URL을 봅니다. 이것은 개발자와 그 이후의 모든 것을 고려한다는 의미입니다. 이것은 흔하지 않습니다.

당신이 일반적으로 하는 일은 dev.to 다음에 오는 모든 것을 살펴 보는 것입니다. 우리의 경우 이것은 / lampewebdev / XXX입니다. 물론 api.dev.to/lampewebdev와 dev.to/lampewebdev는 아마도 같은 응답을 반환하지 않을 것입니다.

하나는 JSON 일 수 있고 다른 하나는 HTML 일 수 있습니다. 이러한 종류의 라우팅은 laravel 및 vuejs 라우터에서도 사용됩니다.


헤더 기반 라우팅 


HTML 및 JSON 리소스에 대한 하나의 URL이 있는 경우 헤더 기반 라우팅도 일상적인 작업이 될 수 있습니다. 예를 들어, 모든 요청에 ​​대해 컨텐츠 유형 헤더를 설정하여 애플리케이션이 JSON 또는 HTML을 제공하도록 할지 결정할 수 있습니다.


한 단계 더 나아가려면 사용자 정의 헤더를 기반으로 라우팅 할 수도 있습니다. 이것은 고급 주제이며 이에 대한 훌륭한 이유가 있는 경우에만 수행해야 합니다.


Restful routes 


편안한 라우팅은 웹 개발에서 널리 사용되는 패턴입니다. 당신은 그것의 기본을 이해해야 합니다. HTTP 동사를 컨트롤러 작업에 연결하는 방법입니다.


HTTP verbs (HTTP request methods) 


일반적으로 HTTP 요청에서 기대하는 것을 지정해야 합니다. 아이디어는 JSON 또는 HTML과 같은 리소스를 가져 오거나 무언가를 만들거나 데이터베이스에서 무언가를 제거하려는 경우 서버에 알리는 것입니다. 이 수정 의도는 HTTP 동사에 이미 표시되어 있어야 합니다. 우리는 우리에게 꼭 필요한 4 가지에 대해 이야기 할 것입니다.

  • GET 아마도 가장 많이 사용 된 것입니다. 가져 오기 요청은 데이터 만 검색해야 합니다. 서버에 "이 특정 URL에있는 것을 보여줄 수 있습니까?"라고 묻습니다. Get 요청은 다음과 같습니다 : GET /index.html. 브라우저 바에 입력하여 실제 브라우저가 URL을 디코딩 하는 것입니다. https://dev.to:443/로 변경합니다. 거의 모든 웹 서버는 / 경로를 index.html로 리디렉션 하도록 구성되어 있습니다. 그래서 당신이 하고 있는 일은 /index.html에 GET 요청을 하는 것입니다. 전체 요청은 다음과 같습니다.
GET /index.html HTTP/1.1
Host: www.dev.to
Accept: image/gif, image/jpeg, */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
(blank line)
  • POST 이것은 서버로 데이터를 전송하기 위한 것입니다. 일반적으로 웹 앱에서 양식 및 유사한 기능과 함께 사용됩니다. 새 사용자 작성 또는 블로그 게시물 작성 등.이 방법은 dem 등성이 아닙니다. Idempotent는 HTTP 요청을 여러 번 수행 할 때 서버의 상태가 동일 함을 의미합니다. 새 블로그 게시물을 만들면 서버의 상태가 동일하지 않습니다. 이것이 PUT와 가장 큰 차이점입니다. 예를 들어 PUT은 사용자 이름을 업데이트하고 동일한 사용자 이름으로 이 사용자 이름을 여러 번 호출해도 서버가 변경되지 않습니다.
  • PUT POST와 거의 동일하지만 양식에 사용해서는 안되며 dem 등원입니다. PUT의 좋은 사용 사례는 음식이나 티켓을 주문할 수 있는 앱을 만들 때입니다. 최종 사용자가 PUT을 여러 번 호출하더라도 하나의 티켓 만 예약하려고 합니다.
  • DELETE 이것은 말한 것을 수행합니다. DELETE 메소드 호출은 서버에서 상태를 제거하기 위한 것입니다. 이것은 데이터베이스 항목이거나 서버가 저장 한 상태 일 수 있습니다. DELETE 호출도 dem 등원이어야 합니다.

CRUD 


CRUD는 만들기, 읽기, 업데이트, 삭제를 나타냅니다. 이 네 가지 작업을 통해 웹 앱의 상태를 수정하기 위해 모든 작업을 수행 할 수 있습니다. 내 말은, 그게 다야. 할 말이 많지 않습니다.


REST (Representational state transfer) 


REST는 모든 라라벨 앱과 API의 중요한 부분입니다. 모든 컨트롤러는 이러한 상태 전송을 가질 수 있으며 이는 서버 수준에서 데이터를 수정하고 있다는 멋진 표현입니다.


NAMEPATHHTTP VERBDETAIL
Index/postGETThis could display all posts or some overview. Returns HTML
New/post/newGETThis one should show a form to create a new post. Returns HTML
Create/postPOSTCreates a new post. This should return some success or error request.
Show/post/:idGETThis, for example, could be /post/1 and should return the first post. Returns HTML
Edit/post/:id/editGETShows a form where you can edit the post. Returns HTML
Update/post/:idPUTThis is the actual update call and should return a success or error message.
Destroy/post/:idDELETEDelete a specific post. Should return a success or error message


보시다시피 일부 PATH는 동일하지만 HTTP 동사가 변경됩니다. 이러한 개념을 이해하는 것이 중요합니다. Laravel뿐만 아니라 표준 API를 사용하는 거의 모든 웹 응용 프로그램에 유용합니다. 이것은 약간의 GraphQL을 변경하지만, 다른 시점에서 GraphQL에 대해 이야기 할 것입니다.


다음 부분에서는 이러한 개념이 라라벨로 어떻게 표현되는지 살펴 보겠습니다. 계속 지켜봐 주시기 바랍니다!