คำถามติดแท็ก http-response-codes

17
403 ต้องห้าม vs 401 การตอบกลับ HTTP ที่ไม่ได้รับอนุญาต
สำหรับหน้าเว็บที่มีอยู่ แต่ผู้ใช้ไม่มีสิทธิ์เพียงพอ (ไม่ได้ล็อกอินหรือไม่ได้อยู่ในกลุ่มผู้ใช้ที่เหมาะสม) การตอบสนอง HTTP ที่เหมาะสมในการแสดงคืออะไร? 401 Unauthorized? 403 Forbidden? อื่น ๆ อีก? สิ่งที่ฉันได้อ่านมาจนถึงตอนนี้ยังไม่ชัดเจนในความแตกต่างระหว่างสองอย่างนี้ กรณีการใช้งานใดที่เหมาะสมสำหรับการตอบกลับแต่ละครั้ง


9
“ 406- ตอบรับไม่ได้” ใน HTTP คืออะไร
ในแอปพลิเคชัน Ruby on Rails ของฉันฉันพยายามอัปโหลดรูปภาพผ่านไคลเอนต์POSTMAN RESTในรูปแบบBase64 เมื่อฉันโพสต์ภาพฉันได้รับการตอบสนอง 406 ที่ไม่สามารถยอมรับได้ เมื่อฉันตรวจสอบฐานข้อมูลภาพอยู่ที่นั่นและได้รับการบันทึกเรียบร้อยแล้ว สาเหตุของข้อผิดพลาดนี้มีอะไรที่ฉันต้องระบุในส่วนหัวของฉัน คำขอของฉัน: URL --- http://localhost:3000/exercises.json หัวข้อ: Content-Type - application/json ข้อมูลดิบ: { "exercise": { "subbodypart_ids": [ "1", "2" ], "name": "Exercise14" }, "image_file_name": "Pressurebar Above.jpg", "image":"******base64 Format*******" }

3
การเข้าสู่ระบบ RESTful ล้มเหลว: ส่งคืน 401 หรือการตอบกลับที่กำหนดเอง
นี่เป็นคำถามเชิงแนวคิด ฉันมีแอปพลิเคชันไคลเอนต์ (มือถือ) ที่ต้องการรองรับการล็อกอินกับบริการเว็บ RESTful เนื่องจากบริการบนเว็บเป็น RESTful จำนวนนี้จะทำให้ลูกค้ายอมรับชื่อผู้ใช้ / รหัสผ่านจากผู้ใช้ยืนยันชื่อผู้ใช้ / รหัสผ่านนั้นกับบริการจากนั้นจำไว้ว่าจะส่งชื่อผู้ใช้ / รหัสผ่านนั้นพร้อมกับคำขอที่ตามมาทั้งหมด การตอบกลับอื่น ๆ ทั้งหมดในบริการเว็บนี้มีให้ในรูปแบบ JSON คำถามคือเมื่อฉันสอบถามบริการเว็บเพียงเพื่อดูว่าชื่อผู้ใช้ / รหัสผ่านที่ระบุนั้นถูกต้องหรือไม่บริการเว็บควรตอบกลับด้วยข้อมูล JSON เสมอเพื่อบอกฉันว่าประสบความสำเร็จหรือไม่สำเร็จหรือควรส่งคืน HTTP 200 ในข้อมูลประจำตัวและ HTTP ที่ดี 401 ในข้อมูลประจำตัวที่ไม่ถูกต้อง เหตุผลที่ฉันถามคือบริการ RESTful อื่น ๆ ใช้ 401 สำหรับข้อมูลรับรองที่ไม่ถูกต้องแม้ว่าคุณจะถามว่าข้อมูลรับรองถูกต้องหรือไม่ อย่างไรก็ตามความเข้าใจของฉันเกี่ยวกับคำตอบ 401 คือว่ามันเป็นตัวแทนของทรัพยากรที่คุณไม่ควรเข้าถึงโดยไม่มีข้อมูลรับรองที่ถูกต้อง แต่ทรัพยากรการเข้าสู่ระบบควรเข้าถึงได้โดยทุกคนเนื่องจากจุดประสงค์ทั้งหมดของทรัพยากรการเข้าสู่ระบบคือการบอกคุณว่าข้อมูลรับรองของคุณถูกต้องหรือไม่ พูดอีกอย่างสำหรับฉันดูเหมือนว่าคำขอเช่น: myservice.com/this/is/a/user/action ควรส่งคืน 401 หากมีการให้ข้อมูลรับรองที่ไม่ถูกต้อง แต่คำขอเช่น: myservice.com/are/these/credentials/valid ไม่ควรส่งคืน 401 …

4
รหัสสถานะ HTTP ที่ถูกต้องที่จะส่งเมื่อไซต์ไม่ได้รับการบำรุงรักษาคืออะไร
มีรหัสสถานะ HTTP เพื่อบอกให้ Google (และคนอื่น ๆ ) เลิกใช้งานดัชนีฉันอีกครั้งในภายหลังหรือไม่ โดยทั่วไปแล้วสิ่งที่บอกลูกค้าอย่างมีความหมายว่าไซต์หยุดอยู่ระหว่างการบำรุงรักษา? สิ่งที่ฉันได้พิจารณาคือ 304 => Not modified 307 => Temporary redirect 410 => Gone 503 => Service Unavailable ฉันเอนเอียงไปทางสุดท้าย แต่ก็แค่อยากรู้ว่าอันไหนคือตัวเลือกที่เหมาะสม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.