6.2. The Context of the Web
우 리 는 사용자 체험 을 강화 하 는 일반적인 원칙 을 논 의 했 는데 그 중의 모든 원칙 은 구체 적 인 실천 에 응용 해 야 한다.레일 스 가 개발 한 프로젝트 는 모두 웹 애플 리 케 이 션 이기 때문에 웹 의 작업 방식 을 살 펴 보 자.
6.2.1 . HTTP
웹 페이지 를 탐색 할 때 인터넷 에 보 내 는 실제 내용 을 HTTP 후각 기 를 사용 하면 브 라 우 저 와 웹 서버 간 의 세 션 을 볼 수 있 습 니 다.링크 를 클릭 하면 브 라 우 저 는 다음 과 같은 요청 을 보 냅 니 다.
GET /index.html HTTP/1.1
Host: [url]www.oreilly.com[/url]
Accept: */*
첫 번 째 줄 은 요청 줄 입 니 다.이 줄 의 첫 번 째 단 어 는 요청 방법(GET)을 대표 합 니 다.방법 뒤 에는 요청 한 URL 경로 와 HTTP 버 전이 있 습 니 다.나머지 는 요청 한 머리 정보 이 며,이 추가 정 보 는 요청 을 완료 하기 위해 서버 에 전달 된다.
HTTP 방법 은 어떤 대상 에서 동작 을 하기 때문에 HTTP 동사 라 고도 부른다.평소 사람들 이 교류 하 는 것 처럼 잘못된 환경 에서 잘못된 동 사 를 사용 하면 나 쁜 결 과 를 초래 할 수 있다.HTTP 동사 도 비슷 한 잠재 적 인 변화 효과 가 있 을 수 있 으 므 로 방법 을 선택 할 때 조심해 야 한다.
가장 흔히 볼 수 있 는 HTTP 방법 은 GET 다.네 비게 이 션 표시 줄 에 인터넷 주 소 를 입력 한 후 차 를 두 드 리 거나 표준 링크 를 클릭 하거나 페이지 의 그림 을 탐색 할 때 데 이 터 는 GET 방법 으로 요청 합 니 다.규범 에 따라 GET 는 요청 한 데 이 터 를 변경 하지 않 기 때문에 GET 방법 은 안전 한 조작 입 니 다.GET 방법의 안전성 은 캐 시 와 프 리 로드 와 같은 실 용적 인 기술 을 많이 가 져 왔 다.
안전성 은 항상 관련 개념 인 멱 등 성과 혼동 된다.한 가지 방법 이 만약 멱 등 성 을 가지 고 있다 면,이 방법 을 여러 번 실시 하여 얻 은 결 과 는 한 번 실시 한 결과 와 같다 는 뜻 이다.예 를 들 어 HTTP 의 DELETE 조작 방법 은 멱 등 성 을 가진다.왜냐하면 한 자원 이 두 번 삭제 되 는 것 은 한 번 삭제 하 는 것 과 같 기 때문이다.GET 도 멱 등 성 을 갖 고 있다.
또 다른 방법 은 POST 입 니 다.웹 폼 을 제출 하 는 데 자주 사 용 됩 니 다.POST 요청 은 보통 하나의 내용 구 조 를 포함 하고 다양한 데이터 일 수 있 습 니 다.POST 는 본질 적 으로'process this(그것 을 처리 하 는 것)'라 는 뜻 이다.결과 에 대해 말하자면 POST 방법 은 안전 하지 도 않 고 멱 등 도 없다.이것 이 바로 브 라 우 저가 POST 방법 으로 접근 하 는 페이지 를 불 러 오기 전에 먼저 확인 을 받 아야 하 는 이유 이다.그렇지 않 으 면 무의식적으로 서버 에 불필요 한 비용 을 늘 릴 수 있다.
또 다른 두 가지 표준 HTTP 방법 은 PUT 와 DELETE 이다.이 두 가지 방법 은 브 라 우 저 와 서버 소프트웨어 에 의 해 지원 되 지 않 지만 웹 서비스 로 서 점점 더 많이 사용 되 고 있다.
Table 6-1. HTTP methods and SQL equivalents
SQL
멱 등 성
안전성
GET
SELECT
Yes
Yes
POST
INSERT
No
No
PUT
UPDATE
Yes
No
DELETE
DELETE
Yes
No
Rails 보기에 서 사용 할 수 있 습 니 다:method 매개 변 수 는 적당 한 HTTP 방법 을 선택 합 니 다.예 를 들 어 링크 와 form helper 에서:method 는 모두 사용 할 수 있 고 Ajax helper 에서 도 사용 할 수 있 습 니 다.
<%= link_to "DELETE", some_url, :method => :delete %>
<%= link_to_remote "PUT", :url => some_url, :method => :put %>
<%= form_tag some_url, :method => :post %>
<%= form_remote_tag :url => some_url, :method => :get %>
<% form_for :person, :url => some_url, :html => { :method => :put } do |f| %>
<% end %>
<% remote_form_for :person, :url => some_url, :method => :put do |f| %>
<% end %>
<%= drop_receiving_element :droppable, :url => some_url, :method => :delete %>
<%= sortable_element :list, :url => some_url, :method => :put %>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WPF의 데이터 컨텍스트 및 자동 연결 소개 - iFour Technolab데이터 소스를 지정하는 몇 가지 방법이 있습니다. 바인딩에 Source 속성을 사용하고 DataContext를 상속할 수 있으며 ElementName 및 RelativeSource 속성도 개체 바인딩에 사용됩니다. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.