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

1
การใช้“ utf8 = ✓” ดีกว่าที่จะ“ utf8 = จริง” หรือไม่?
ฉันเพิ่งเห็น URI บางอย่างที่มีพารามิเตอร์การสืบค้น "utf8 = ✓" ความประทับใจครั้งแรกของฉัน (หลังจากคิดว่า "mmm, ดูดี") คือสิ่งนี้สามารถใช้เพื่อตรวจจับการเข้ารหัสอักขระที่ไม่สมบูรณ์ ดังนั้นนี่เป็นวิธีที่ดีกว่าในการแก้ไขปัญหาที่อาจเกิดขึ้นจากการเข้ารหัสอักขระหรือเป็นเพียงนักพัฒนาที่สนุกกับการแฮ็ค

7
การค้นหาเหมาะสมกับอินเทอร์เฟซ RESTful อย่างไร
เมื่อออกแบบอินเตอร์เฟส RESTful ซีแมนทิกส์ของประเภทคำขอจะถือว่ามีความสำคัญต่อการออกแบบ GET - รายการคอลเลกชันหรือดึงองค์ประกอบ PUT - แทนที่คอลเลกชันหรือองค์ประกอบ POST - สร้างคอลเล็กชันหรือองค์ประกอบ DELETE - เอออืมลบคอลเลกชันหรือองค์ประกอบ อย่างไรก็ตามสิ่งนี้ดูเหมือนจะไม่ครอบคลุมแนวคิดของ "การค้นหา" เช่นในการออกแบบชุดบริการเว็บที่สนับสนุนไซต์หางานคุณอาจมีข้อกำหนดต่อไปนี้: รับโฆษณางานบุคคล รับไปdomain/Job/{id}/ สร้างงานโฆษณา โพสต์ถึงdomain/Job/ อัปเดตงานโฆษณา ใส่ลงไปdomain/Job/ ลบโฆษณางาน ลบไปที่domain/Job/ "รับงานทั้งหมด" ก็ง่าย: รับไปdomain/Jobs/ อย่างไรก็ตามงาน "การค้นหา" ตกอยู่ในโครงสร้างนี้อย่างไร คุณสามารถอ้างว่าเป็น "รูปแบบรายการ" และใช้เป็น: รับไปdomain/Jobs/ อย่างไรก็ตามการค้นหาอาจซับซ้อนและเป็นไปได้ทั้งหมดในการสร้างการค้นหาที่สร้างสตริง GET ที่ยาว นั่นคือการอ้างอิงคำถาม SO ที่นี่มีปัญหาในการใช้สตริง GET ที่มีความยาวมากกว่า 2000 ตัวอักษร ตัวอย่างอาจอยู่ในการค้นหาแบบเหลี่ยมเพชรพลอย - ดำเนินการต่อตัวอย่าง "job" …

6
เหตุใดจึงไม่ควรขอข้อมูลการเปลี่ยนแปลง GET บนเซิร์ฟเวอร์
ทั่วอินเทอร์เน็ตฉันเห็นคำแนะนำต่อไปนี้: GET ไม่ควรเปลี่ยนแปลงข้อมูลบนเซิร์ฟเวอร์ - ใช้คำขอ POST สำหรับสิ่งนั้น พื้นฐานของความคิดนี้คืออะไร ถ้าฉันสร้างบริการ php ซึ่งแทรกข้อมูลในฐานข้อมูลและส่งผ่านพารามิเตอร์ในสตริงการสืบค้น GET ทำไมจึงเป็นเช่นนั้น (ฉันใช้คำสั่งที่เตรียมไว้เพื่อดูแล SQL Injection) คำขอ POST มีความปลอดภัยมากกว่าหรือไม่ หรือมีเหตุผลทางประวัติศาสตร์สำหรับเรื่องนี้? คำแนะนำนี้วันนี้มีความถูกต้องหรือไม่?
109 http  http-request 

6
เราควรสร้าง HttpClient อินสแตนซ์ใหม่สำหรับคำขอทั้งหมดหรือไม่
เมื่อเร็ว ๆ นี้ฉันได้พบกับบล็อกโพสต์นี้จากอสุรกาย asp.net ซึ่งพูดถึงปัญหาเกี่ยวกับการใช้HttpClientในวิธีต่อไปนี้: using(var client = new HttpClient()) { } ตามโพสต์ในบล็อกถ้าเรากำจัดHttpClientหลังจากทุกคำขอมันสามารถเปิดการเชื่อมต่อ TCP ได้ System.Net.Sockets.SocketExceptionนี้อาจจะนำไปสู่การ วิธีที่ถูกต้องตามโพสต์คือการสร้างอินสแตนซ์เดียวHttpClientซึ่งจะช่วยลดการสิ้นเปลืองซ็อกเก็ต จากโพสต์: หากเราแบ่งปัน HttpClient อินสแตนซ์เดียวเราสามารถลดการใช้ซ็อกเก็ตได้โดยการใช้ซ้ำ: namespace ConsoleApplication { public class Program { private static HttpClient Client = new HttpClient(); public static void Main(string[] args) { Console.WriteLine("Starting connections"); for(int i = 0; i<10; i++) { …
57 c#  http-request 

3
สิ่งที่อยู่ในส่วนหัวคำขอ HTTP กับส่วนเนื้อหาร้องขอ
ฉันกำลังทำงานกับชุดบริการเว็บสำหรับไคลเอนต์มือถือและข้อกำหนดเรียกรหัสอุปกรณ์ที่ไม่ซ้ำกันที่จะรวมกับคำขอทั้งหมดจะถูกเก็บไว้ในคำขอบางอย่างและใช้ในการกรองผลลัพธ์ในที่อื่น ๆ มีการแนะนำให้ใส่ไว้ในส่วนหัว HTTP ที่กำหนดเองเนื่องจากจะรวมอยู่กับคำขอทั้งหมดดังนั้นฉันจึงเริ่มสงสัยว่าเกณฑ์ใดที่จะใช้ในการพิจารณาว่าชิ้นส่วนของข้อมูลที่กำหนดนั้นเป็นของส่วนหัวหรือพร้อมกับข้อมูลอื่น ๆ ใน ร่างกายร้องขอ มีเกณฑ์ดังกล่าวหรือไม่?

2
REST API ควรจัดการคำขอ PUT กับทรัพยากรที่สามารถแก้ไขได้บางส่วนได้อย่างไร
สมมติว่า REST API ตอบกลับGETคำขอHTTP ส่งคืนข้อมูลเพิ่มเติมบางอย่างในวัตถุย่อยowner: { id: 'xyz', ... some other data ... owner: { name: 'Jo Bloggs', role: 'Programmer' } } เห็นได้ชัดว่าเราไม่ต้องการให้ใครPUTกลับมา { id: 'xyz', ... some other data ... owner: { name: 'Jo Bloggs', role: 'CEO' } } และประสบความสำเร็จ อันที่จริงเราอาจไม่ได้ใช้วิธีการที่อาจประสบความสำเร็จในกรณีนี้ แต่คำถามนี้ไม่เพียงเกี่ยวกับวัตถุย่อย: โดยทั่วไปแล้วจะทำอย่างไรกับข้อมูลที่ไม่ควรแก้ไขได้ในคำขอ PUT มันควรจะต้องหายไปจากคำขอ PUT หรือไม่ มันควรจะถูกทิ้งอย่างเงียบ ๆ …

3
การส่งโทเค็นการเข้าถึงผ่านทางส่วนหัว HTTP มีความปลอดภัยหรือไม่
นี่เป็นบริการเว็บสงบเป็นครั้งแรกและฉันกังวลเกี่ยวกับปัญหาด้านความปลอดภัย การส่งโทเค็นการเข้าถึงของฉันผ่านส่วนหัว HTTP ปลอดภัยหรือไม่ ตัวอย่างเช่น: POST /v1/i/resource HTTP/1.1 Content-Type: application/x-www-form-urlencoded Api-key: 5cac3297f0d9f46e1gh3k83881ba0980215cd71e Access_token: 080ab6bd49b138594ac9647dc929122adfb983c8 parameter1=foo&parameter2=bar SSLการเชื่อมต่อทำมากกว่า นอกจากนี้สิ่งที่จะต้องมีการกำหนดเป็นscopeคุณลักษณะสำหรับทุกคนaccess token

2
รหัสสถานะการตอบกลับที่เหมาะสมคือ POST เมื่อไม่พบทรัพยากรหลัก
ฉันมีจุดสิ้นสุดดังต่อไปนี้: a/{id}/b และต้องการสร้างbพร้อมกับส่งPOSTคำขอไปยังมัน ถ้าaมีให้{id}ไม่ได้พบว่าผมควรจะตอบสนองด้วย404 NOT_FOUNDหรืออาจจะมี409 CONFLICT? มันคือการจัดการธรรมดาa/{id}เคล็ดลับคือที่นี่มีการใช้แหล่งข้อมูลย่อย
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.