ユーザーのログインデータをチェックする際の同期要求または非同期

私のアプリケーションでは、ユーザーが正しいログインとパスワードを入力したかどうかを検証する必要があります。ログインとパスワードはWebサーバーに保存されるので、サーバーへの正しい接続を構成する必要があります。私は、httpリクエストとそのすべてのことについて、すべての点で絶対的な初心者です。実際に私はASIHTTPRequestライブラリをダウンロードし、昨日私のプロジェクトに追加しました。私の主な問題は、私は今実際のサーバーを持っていないということです(そして、私は実際のサーバー名で置き換えられる従来のURLを使用していますが、私のコードが正しいようにしたい)私は正しくやっていることをやっている。私の質問は次のとおりです:

1)ユーザーのログインとパスワードの確認を構成する最善の方法は何ですか?私は同期要求または非同期を使用する必要がありますか?私が知っているすべての同期要求は、要求が実行されている間にアプリケーションを停止させるために使用することは稀ですが、実際にこのイベントで実行する必要はありませんので、少し混乱します。何を使用しますか?

2)HTTPリクエストを使ってユーザーのログインとパスワードを確認するのはかなり一般的な作業なので、Webサーバーが返すデータの種類は一般的なルールでなければならないと思います。私は車輪を発明したくありません。ユーザーのログインとパスワードが一致するかどうかを確認するためにresponseStringによって返されたNSStringを使用する必要がありますか?このような場合、通常、サーバーは何を返しますか?私のコードはどのように見えますか?何かのようなもの

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:someUrl];
[request startSynchronous];
 NSString *response = [request responseString];
 if ([response isEqualToString:@"login and password match"])
   //user enters next screen
 else
   //user is notified about the error

または、他の何か?あなたならどうしますか?

3)この要求は私が実装する必要があるだけではありません。後で別のリクエストで同じURLに接続します。だから、どのような種類のリクエストが現在使用されているのか、サーバはどのように知っていますか?

私は本当にあなたの助言が必要です。事前に感謝します

1

1 答え

私はあなたの質問に答えようとしましたが、

Q:1。ログイン用の同期または非同期のリクエストモデルですか?

-> As per apple's documentation

A synchronous load is built on top of the asynchronous loading code made
available by the class. The calling thread is blocked while the asynchronous
loading system perfまたはms the URL load on a thread spawned specifically fまたは 
this load request.

また、

NSURLConnection は、コンテンツのダウンロードをサポートしています。    NSURLRequest :クラスメソッドを使用して同期的に    sendSynchronousRequest:returningResponse:errまたは:。このメソッドを使用すると   重大な制限があるため推奨されません。

     

クライアントアプリケーションは、データが完全に終了するまでブロックします。   エラーが発生したか、要求がタイムアウトしました。

     

認証が必要なリクエストに対しては、最小限のサポートが提供されます。

     

レスポンスのデフォルト動作を変更する手段はありません   キャッシュするか、サーバーのリダイレクトを受け入れるかを指定します。

サーバー側の実装に気づかないうちに、以下が含まれる可能性があります。

1。要求を実行するためのリダイレクトとその他のメカニズム

2。プロキシ認証やその他の同様のものが必要な場合があります。

Q:2。このような場合、通常、サーバーは何を返しますか?

一般的に、Webサービスはパースする必要があるrepsonseとして xml または JSON を返すサーバー側で実装されています。 >を使用してください。 応答の例は次のようになります。

XMLの場合:


0
Login Successful.

JSON用

{
   "statusCode" = "0"
   "statusMessage" = "Login Successful."
}

タグ(XML用)とキー(JSON用)は実装に依存します。

3. How does the server know what kind of request is currently being used?

-> The URL which you will use fまたは request will tell server, what you are looking fまたは?

例えば

http://www.example.com/mywebapp/getItem?id="1";

ありがとう、

または

http://www.example.com/mywebapp/removeItem?id="1";

太字のパス項目は、呼び出すサービスを表します。

4
追加された
クールな説明!
追加された 著者 Myxtic,