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

Hypertext Transfer Protocol (HTTP) เป็นโปรโตคอลเครือข่ายระดับแอปพลิเคชันที่ใช้สำหรับการถ่ายโอนเนื้อหาบนเวิลด์ไวด์เว็บ

8
อะไรคือความแตกต่างหลักระหว่าง PATCH และ PUT
ฉันกำลังใช้PUTคำขอในแอปพลิเคชัน Rails ของฉัน ขณะนี้PATCHเบราว์เซอร์HTTP ใหม่ถูกใช้งานโดยเบราว์เซอร์ ดังนั้นฉันต้องการทราบความแตกต่างที่สำคัญระหว่างPATCHและPUTคำขอคืออะไรและเมื่อใดที่เราควรใช้รายการใดรายการหนึ่ง
187 http  patch  put  httpverbs 

10
วิธีที่เหมาะสมในการตั้งค่าสถานะการตอบสนองและเนื้อหา JSON ใน REST API ที่สร้างด้วย nodejs และ express
ฉันกำลังเล่นกับ Nodejs และแสดงโดยการสร้าง API พักผ่อนขนาดเล็ก คำถามของฉันคือวิธีปฏิบัติที่ดี / วิธีที่ดีที่สุดในการกำหนดสถานะโค้ดรวมถึงข้อมูลการตอบกลับคืออะไร ให้ฉันอธิบายด้วยรหัสเล็กน้อย (ฉันจะไม่ใส่โหนดและรหัสด่วนที่จำเป็นในการเริ่มต้นเซิร์ฟเวอร์เพียงวิธีเราเตอร์ที่เกี่ยวข้อง): router.get('/users/:id', function(req, res, next) { var user = users.getUserById(req.params.id); res.json(user); }); exports.getUserById = function(id) { for (var i = 0; i < users.length; i++) { if (users[i].id == id) return users[i]; } }; รหัสด้านล่างทำงานได้อย่างสมบูรณ์และเมื่อส่งคำขอกับบุรุษไปรษณีย์ฉันได้รับผลลัพธ์ดังต่อไปนี้: อย่างที่คุณเห็นสถานะแสดงเป็น 200 ซึ่งก็โอเค แต่นี่เป็นวิธีที่ดีที่สุดในการทำสิ่งนี้? มีกรณีที่ฉันควรจะต้องตั้งสถานะตัวเองเช่นเดียวกับ JSON …
187 node.js  rest  http  express 

2
พารามิเตอร์ URL บรรทัดคำสั่ง CURL
ฉันพยายามส่งDELETEคำขอด้วยพารามิเตอร์ url โดยใช้ CURL ฉันกำลังทำ: curl -H application/x-www-form-urlencoded -X DELETE http://localhost:5000/locations` -d 'id=3' อย่างไรก็ตามเซิร์ฟเวอร์ไม่เห็นพารามิเตอร์ id = 3 ฉันลองใช้แอปพลิเคชั่น GUI บางตัวและเมื่อฉันส่ง URL เป็น: http://localhost:5000/locations?id=3มันใช้งานได้ ฉันต้องการใช้ CURL แทนแอปพลิเคชัน GUI นี้ ใครช่วยชี้ให้เห็นสิ่งที่ฉันทำผิดได้ไหม
186 http  curl 

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*******" }

14
สร้างสตริงแบบสอบถามสำหรับ System.Net.HttpClient get
หากฉันต้องการส่งคำขอการรับ http โดยใช้ System.Net.HttpClient ดูเหมือนว่าไม่มี API ที่จะเพิ่มพารามิเตอร์การแก้ไขนี้ถูกต้องหรือไม่ มี api ง่าย ๆ ในการสร้างสตริงการสืบค้นที่ไม่เกี่ยวข้องกับการสร้างคอลเลกชันค่าชื่อและการเข้ารหัส url เหล่านั้นและจากนั้นก็เชื่อมต่อพวกเขาในที่สุด? ฉันหวังว่าจะใช้สิ่งที่ต้องการ API ของ RestSharp (เช่น AddParameter (.. ))
184 c#  .net  http 

8
.NET: วิธีที่ง่ายที่สุดในการส่ง POST พร้อมข้อมูลและตอบกลับการอ่าน
ด้วยความประหลาดใจของฉันฉันไม่สามารถทำอะไรง่าย ๆ อย่างนี้จากสิ่งที่ฉันสามารถบอกได้ใน. NET BCL: byte[] response = Http.Post ( url: "http://dork.com/service", contentType: "application/x-www-form-urlencoded", contentLength: 32, content: "home=Cosby&favorite+flavor=flies" ); รหัสนี้สมมุติข้างต้นทำให้ HTTP POST กับข้อมูลและผลตอบแทนการตอบสนองจากที่วิธีการในระดับคงที่PostHttp เมื่อเราถูกทิ้งไว้โดยไม่มีอะไรง่าย ๆ นี่เป็นทางออกที่ดีที่สุดต่อไปคืออะไร? ฉันจะส่ง HTTP POST พร้อมข้อมูลและรับเนื้อหาของการตอบกลับได้อย่างไร

4
ความแตกต่างระหว่างไม่มีแคชและต้องตรวจสอบใหม่
จาก RFC 2616 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.1 ไม่มีแคช หากคำสั่ง no-cache ไม่ได้ระบุชื่อฟิลด์ดังนั้นแคชจะต้องไม่ใช้การตอบสนองเพื่อตอบสนองต่อการร้องขอในภายหลังโดยไม่ทำการตรวจสอบซ้ำกับเซิร์ฟเวอร์ต้นทาง สิ่งนี้ทำให้เซิร์ฟเวอร์ต้นทางสามารถป้องกันการแคชได้แม้กระทั่งแคชที่ได้รับการกำหนดค่าให้ส่งคืนการตอบสนองเก่าต่อคำขอของไคลเอ็นต์ ดังนั้นจึงแนะนำให้ตัวแทนตรวจสอบการตอบกลับทั้งหมดอีกครั้ง เปรียบเทียบสิ่งนี้กับ ต้องตรวจสอบใหม่ เมื่อคำสั่งต้องตรวจสอบความถูกต้องอยู่ในการตอบกลับที่ได้รับจากแคชแคชนั้นจะต้องไม่ใช้รายการหลังจากที่กลายเป็นเก่าเพื่อตอบสนองต่อการร้องขอต่อมาโดยไม่ต้องตรวจสอบซ้ำกับเซิร์ฟเวอร์ต้นทางครั้งแรก ดังนั้นจึงแนะนำให้ตัวแทนตรวจสอบการตอบสนองเก่าอีกครั้ง โดยเฉพาะอย่างยิ่งในเรื่องที่no-cacheว่าตัวแทนผู้ใช้นี้ปฏิบัติต่อคำสั่งนี้อย่างชัดเจนหรือไม่? อะไรคือสิ่งที่no-cacheถ้ามีmust-revalidateและmax-age? ดูความคิดเห็นนี้: http://palpapers.plynt.com/issues/2008Jul/cache-control-attributes/ ไม่มีแคช แม้ว่าคำสั่งนี้ฟังดูเหมือนเป็นการสั่งให้เบราว์เซอร์ไม่แคชหน้าเว็บ แต่ก็มีความแตกต่างเล็กน้อย คำสั่ง“ no-cache” ตาม RFC บอกเบราว์เซอร์ว่าควรตรวจสอบความถูกต้องอีกครั้งกับเซิร์ฟเวอร์ก่อนที่จะแสดงหน้าเว็บจากแคช การตรวจสอบความถูกต้องเป็นเทคนิคที่เรียบร้อยซึ่งช่วยให้แอปพลิเคชันประหยัดแบนด์วิดท์ หากหน้าเว็บที่เบราว์เซอร์ไม่ได้เปลี่ยนเซิร์ฟเวอร์เพียงแค่ส่งสัญญาณไปยังเบราว์เซอร์และหน้าจะแสดงจากแคช ดังนั้นเบราว์เซอร์ (อย่างน้อยก็ในทางทฤษฎี) จะเก็บหน้าเว็บไว้ในแคช แต่จะแสดงเฉพาะเมื่อทำการตรวจสอบความถูกต้องใหม่กับเซิร์ฟเวอร์ ในทางปฏิบัติ IE และ Firefox ได้เริ่มรักษาคำสั่ง no-cache ราวกับว่ามันสั่งให้เบราว์เซอร์ที่จะไม่แคชแม้แต่หน้า เราเริ่มสังเกตพฤติกรรมนี้เมื่อประมาณหนึ่งปีที่แล้ว มีใครมีอะไรเป็นทางการมากขึ้นในเรื่องนี้? ปรับปรุง คำสั่งต้องตรวจสอบความถูกต้องควรจะใช้โดยเซิร์ฟเวอร์หากและหากล้มเหลวในการตรวจสอบคำขอในการเป็นตัวแทนอาจส่งผลให้การดำเนินงานที่ไม่ถูกต้องเช่นธุรกรรมทางการเงินที่ไม่ได้ดำเนินการอย่างเงียบ ๆ นั่นคือสิ่งที่ฉันไม่เคยใส่ใจจนถึงตอนนี้ RFC กำลังบอกว่าจะไม่ใช้งานต้องทำการตรวจสอบซ้ำอีกครั้ง สิ่งนี้คือด้วยบริการบนเว็บคุณจะต้องมองในแง่ลบและถือว่าเลวร้ายที่สุดสำหรับแอพไคลเอ็นต์ที่คุณไม่รู้จัก ทรัพยากรเก่าใด ๆ …

3
พารามิเตอร์เมทริกซ์ URL เทียบกับพารามิเตอร์การสืบค้น
ฉันสงสัยว่าจะใช้เมทริกซ์หรือพารามิเตอร์การสืบค้นใน URL ของฉันหรือไม่ ฉันพบการสนทนาที่เก่ากว่าในหัวข้อนั้นไม่พอใจ ตัวอย่าง URL ที่มีพารามิเตอร์การสืบค้น: http: //some.where/thing? paramA = 1 & paramB = 6542 URL ที่มีพาราเมตริกซ์: http: //some.where/thing; paramA = 1; paramB = 6542 ตั้งแต่แรกพบเมทริกซ์ params ดูเหมือนจะมีข้อได้เปรียบเท่านั้น: อ่านได้มากขึ้น ไม่จำเป็นต้องเข้ารหัสและถอดรหัส "&" ในเอกสาร XML URL ด้วย "?" ไม่ถูกแคชในหลายกรณี URL ที่มีพารามิเตอร์พาราเมทริกถูกแคช พารามิเตอร์เมทริกซ์สามารถปรากฏได้ทุกที่ในเส้นทางและไม่ จำกัด เฉพาะจุดสิ้นสุด พารามิเตอร์เมทริกซ์สามารถมีได้มากกว่าหนึ่งค่า: paramA=val1,val2 แต่ก็มีข้อเสีย: กรอบงานเพียงไม่กี่อย่างเช่นJAX-RSรองรับพารามิเตอร์เมทริกซ์ เมื่อเบราว์เซอร์ส่งแบบฟอร์มผ่าน GET พารามิเตอร์จะกลายเป็นพารามิเตอร์แบบสอบถาม …
176 http  url  rest  parameters  jax-rs 

6
ถือว่าเป็นการใช้งาน HTTP POST โดยไม่ต้องมีเอนทิตีหรือไม่
ฉันต้องเรียกใช้กระบวนการที่ไม่ต้องการข้อมูลใด ๆ จากผู้ใช้เพียงเป็นตัวกระตุ้น ฉันวางแผนที่จะใช้ POST / uri โดยไม่มีร่างกายเพื่อกระตุ้นกระบวนการ ฉันต้องการทราบว่าสิ่งนี้ถือว่าไม่ดีทั้งในมุมมอง HTTP และ REST หรือไม่
176 http  rest  post 

2
“ 304 Not Modified” ทำงานอย่างไร
มีการสร้างคำตอบ "304 Not Modified" อย่างไร เบราว์เซอร์ตรวจสอบว่าการตอบสนองต่อคำขอ HTTP คือ 304 ได้อย่างไร มันถูกตั้งค่าโดยเบราว์เซอร์หรือส่งจากเซิร์ฟเวอร์? หากส่งจากเซิร์ฟเวอร์เซิร์ฟเวอร์จะทราบข้อมูลที่มีอยู่ในแคชได้อย่างไรและจะกำหนด 304 ภาพอย่างไร ฉันเดาว่าถ้ามันถูกสร้างโดยเบราว์เซอร์: function is_modified() { return get_data_from_cache() === get_data_from_url(); } function get_data_from_cache() { return some_hash_or_xxx_function(cache_data); } function get_data_from_url() { return some_hash_or_xxx_function(new_data); } function some_hash_or_xxx_function(data) { // Do something with the data. // What is that algorithm? return …


5
ทำความเข้าใจกับสถานะเครือข่าย Chrome ที่“ Stalled”
ฉันมีบันทึกเครือข่ายต่อไปนี้ใน chrome: ฉันไม่เข้าใจสิ่งใดสิ่งหนึ่ง: สิ่งที่แตกต่างระหว่างแท่งสีเทาที่เติมและแท่งสีเทาใส

3
Angular2 http.get (), map (), สมัครสมาชิก () และรูปแบบที่สังเกตได้ - ความเข้าใจพื้นฐาน
ตอนนี้ฉันมีหน้าเริ่มต้นที่ฉันมีสามลิงก์ เมื่อคุณคลิกที่ลิงก์ 'เพื่อน' ครั้งล่าสุดคอมโพเนนต์เพื่อนที่เหมาะสมจะได้รับการเริ่มต้น ในนั้นฉันต้องการดึงข้อมูล / รับรายชื่อเพื่อนของฉันที่เข้าสู่ไฟล์ friends.json จนถึงตอนนี้ทุกอย่างทำงานได้ดี แต่ฉันยังคงเป็นมือใหม่สำหรับบริการ HTTP ของ angular2 โดยใช้แนวคิดแผนที่ของ RxJs ที่สังเกตได้ ฉันพยายามที่จะเข้าใจและอ่านบทความไม่กี่ แต่จนกระทั่งฉันได้ทำงานจริงฉันจะไม่เข้าใจแนวคิดเหล่านั้นอย่างถูกต้อง ที่นี่ฉันได้ทำ plnkr ซึ่งทำงานยกเว้นงานที่เกี่ยวข้องกับ HTTP Plnkr myfriends.ts import {Component,View,CORE_DIRECTIVES} from 'angular2/core'; import {Http, Response,HTTP_PROVIDERS} from 'angular2/http'; import 'rxjs/Rx'; @Component({ template: ` <h1>My Friends</h1> <ul> <li *ngFor="#frnd of result"> {{frnd.name}} is {{frnd.age}} years old. …
170 http  angular  rxjs 

9
ทำไมถึงกล่าวว่า“ HTTP เป็นโปรโตคอลไร้สัญชาติ”?
HTTP มีคุกกี้ HTTP คุกกี้ช่วยให้เซิร์ฟเวอร์ติดตามสถานะผู้ใช้จำนวนการเชื่อมต่อการเชื่อมต่อล่าสุด ฯลฯ HTTP มีการเชื่อมต่อแบบต่อเนื่อง (Keep-Alive) ซึ่งสามารถส่งคำขอได้หลายรายการจากการเชื่อมต่อ TCP เดียวกัน
170 http  stateless 

6
รหัสสถานะ HTTP ที่ถูกต้องกับอินพุตที่ไม่ถูกต้อง
รหัสตอบกลับ HTTP ที่ดีที่สุดคืออะไรเมื่อไม่รายงาน 200 (ทุกอย่างตกลง) แต่เกิดข้อผิดพลาดในการป้อนข้อมูล เช่นเดียวกับที่คุณส่งข้อมูลไปยังเซิร์ฟเวอร์และจะตอบกลับว่าข้อมูลของคุณไม่ถูกต้อง การใช้500ดูเหมือนกับปัญหาของเซิร์ฟเวอร์ที่ ใช้200กับข้อความเตือน / ตอบกลับข้อผิดพลาดไม่ดี (การอนุญาตให้ใช้แคชและทุกอย่างไม่เป็นไร) การ ใช้งาน204และไม่ส่งคืนอะไรอาจจะดี (แต่ได้รับการสนับสนุนอย่างดี?) โดยใช้404ผิด ในสถานที่ที่เหมาะสม
169 api  http  validation 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.