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

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

9
วิธีอนุญาตเนื้อหา http ภายใน iframe บนเว็บไซต์ https
ฉันโหลด HTML บางส่วนลงใน iframe แต่เมื่อไฟล์อ้างอิงใช้ http ไม่ใช่ https ฉันได้รับข้อผิดพลาดต่อไปนี้: [ถูกบล็อก] หน้าเว็บที่ {current_pagename} เรียกใช้เนื้อหาที่ไม่ปลอดภัยจาก {referenced_filename} มีวิธีใดบ้างที่จะปิดสิ่งนี้หรือวิธีใด ๆ iframe ไม่มีsrcแอ็ตทริบิวต์และเนื้อหาถูกตั้งค่าโดยใช้: frame.open(); frame.write(html); frame.close();
145 html  security  http  iframe  https 

3
แบบฟอร์มข้ามโดเมน POSTing
ฉันเคยเห็นบทความและโพสต์ทั่ว (รวมถึง SO) ในหัวข้อนี้และความเห็นที่แพร่หลายคือนโยบายต้นกำเนิดเดียวกันป้องกันฟอร์ม POST ข้ามโดเมน คนเพียงสถานที่ที่ผมเคยเห็นชี้ให้เห็นว่านโยบายเดียวกันแหล่งกำเนิดไม่ได้นำไปใช้กับรูปแบบการโพสต์อยู่ที่นี่ ฉันต้องการคำตอบจาก "ทางการ" หรือแหล่งข้อมูลทางการ ตัวอย่างเช่นไม่มีใครรู้ RFC ที่ระบุว่ามีต้นกำเนิดเดียวกันหรือไม่มีผลต่อฟอร์ม POST หรือไม่ คำชี้แจง : ฉันไม่ได้ถามว่าสามารถสร้าง GET หรือ POST และส่งไปยังโดเมนใด ๆ ได้หรือไม่ ฉันกำลังถาม: ถ้า Chrome, IE หรือ Firefox จะอนุญาตเนื้อหาจากโดเมน 'Y' เพื่อส่ง POST ไปยังโดเมน 'X' ถ้าเซิร์ฟเวอร์ที่รับ POST จะเห็นค่าฟอร์มใด ๆ เลย ฉันพูดแบบนี้เพราะส่วนใหญ่ของการสนทนาออนไลน์บันทึกผู้ทดสอบบอกว่าเซิร์ฟเวอร์ได้รับการโพสต์ แต่ค่าแบบฟอร์มทั้งหมดว่าง / ถอดออก เอกสารอย่างเป็นทางการใด ๆ (เช่น RFC) อธิบายว่าพฤติกรรมที่คาดหมายคืออะไร …


3
ส่วนหัวของประเภทเนื้อหา HTTP และ JSON
ฉันพยายามหลีกเลี่ยงการใช้คุณสมบัติของโปรโตคอล HTTP เกือบทุกครั้งเพื่อที่จะกลัวความไม่รู้จัก อย่างไรก็ตามฉันพูดกับตัวเองว่าฉันจะต้องเผชิญหน้ากับความกลัวในวันนี้และเริ่มใช้ส่วนหัวอย่างเด็ดเดี่ยว ฉันพยายามส่งjsonข้อมูลไปยังเบราว์เซอร์และใช้งานได้ทันที ตัวอย่างเช่นถ้าฉันมีฟังก์ชั่น Ajax handler ในสถานะ Ready 4 ซึ่งมีลักษณะดังนี้: function ajaxHandler(response){ alert(response.text); } และฉันได้ตั้งหัวข้อประเภทเนื้อหาในรหัส PHP ของฉัน: header('Content-Type: application/json'); echo json_encode(array('text' => 'omrele')); ทำไมฉันไม่สามารถเข้าถึงได้โดยตรงจากสถานที่ให้ฟังก์ชั่นการจัดการเมื่อเบราว์เซอร์จะบอกอย่างชัดเจนว่าข้อมูลที่เข้ามาเป็นapplication/json?
144 javascript  php  json  http 

18
ฉันจะใช้พร็อกซี http กับ node.js http.Client ได้อย่างไร
ฉันต้องการที่จะโทร HTTP ขาออกจาก Node.js http.Clientใช้มาตรฐาน แต่ฉันไม่สามารถเข้าถึงเซิร์ฟเวอร์ระยะไกลได้โดยตรงจากเครือข่ายของฉันและจำเป็นต้องผ่านพร็อกซี ฉันจะบอกให้ node.js ใช้พร็อกซีได้อย่างไร
143 http  proxy  node.js 

3
จะหยุดโค้ดที่เป็นอันตรายไม่ให้ปลอมแปลงส่วนหัว "Origin" เพื่อใช้ประโยชน์จาก CORS ได้อย่างไร
วิธีที่ผมเข้าใจมันถ้าสคริปต์ฝั่งไคลเอ็นต์ที่ทำงานบนหน้าจาก foo.com ต้องการที่จะขอข้อมูลจาก bar.com ในการร้องขอนั้นจะต้องระบุส่วนหัวและบาร์จะต้องตอบสนองด้วยOrigin: http://foo.comAccess-Control-Allow-Origin: http://foo.com มีอะไรที่จะหยุดโค้ดที่เป็นอันตรายจากเว็บไซต์ roh.com จากการปลอมแปลงส่วนหัวOrigin: http://foo.comเพื่อขอหน้าเว็บจากแถบ
143 javascript  ajax  http  cors 

5
วิธีที่ถูกต้องในการลบคุกกี้ที่ฝั่งเซิร์ฟเวอร์
สำหรับกระบวนการตรวจสอบสิทธิ์ของฉันฉันสร้างโทเค็นที่ไม่ซ้ำกันเมื่อผู้ใช้ลงชื่อเข้าใช้และใส่ลงในคุกกี้ที่ใช้สำหรับการตรวจสอบ ดังนั้นฉันจะส่งสิ่งนี้จากเซิร์ฟเวอร์: Set-Cookie: token=$2a$12$T94df7ArHkpkX7RGYndcq.fKU.oRlkVLOkCBNrMilaSWnTcWtCfJC; path=/; ซึ่งใช้ได้กับเบราว์เซอร์ทั้งหมด จากนั้นเพื่อลบคุกกี้ฉันส่งคุกกี้ที่คล้ายกันโดยมีexpiresฟิลด์กำหนดไว้สำหรับวันที่ 1 มกราคม 1970 Set-Cookie: token=$2a$12$T94df7ArHkpkX7RGYndcq.fKU.oRlkVLOkCBNrMilaSWnTcWtCfJC; path=/; expires=Thu, Jan 01 1970 00:00:00 UTC; และใช้งานได้ดีกับ Firefox แต่ไม่ลบคุกกี้ใน IE หรือ Safari ดังนั้นวิธีที่ดีที่สุดในการลบคุกกี้คืออะไร (โดยไม่ใช้ JavaScript) วิธี set-the-expires-in-the-past ดูเหมือนว่าใหญ่ และทำไมถึงทำงานใน FF แต่ไม่ได้อยู่ใน IE หรือ Safari?
141 http  cookies 


7
ฉันจะทำให้ HttpURLConnection ใช้พร็อกซีได้อย่างไร
ถ้าฉันทำแบบนี้ ... conn = new URL(urlString).openConnection(); System.out.println("Proxy? " + conn.usingProxy()); มันพิมพ์ Proxy? false ปัญหาคือฉันอยู่หลังพร็อกซี JVM รับข้อมูลพร็อกซีจากที่ใดบน Windows ฉันจะตั้งค่านี้ได้อย่างไร? แอพอื่น ๆ ทั้งหมดของฉันดูเหมือนจะมีความสุขกับพร็อกซีของฉัน
140 java  windows  http  proxy 

8
รับเขตเวลาไคลเอ็นต์จากเบราว์เซอร์
มีวิธีที่เชื่อถือได้ในการรับเขตเวลาจากเบราว์เซอร์ไคลเอ็นต์หรือไม่ ฉันเห็นลิงค์ต่อไปนี้ แต่ฉันต้องการโซลูชันที่มีประสิทธิภาพมากขึ้น ตรวจจับโซนเวลาโดยอัตโนมัติด้วย JavaScript การตรวจจับเขตเวลาใน JavaScript

1
รหัสสถานะ HTTP 301 และ 308 แตกต่างกันอย่างไร
HTTP 301และ308รหัสสถานะต่างกันอย่างไร 301 (ย้ายถาวร): คำขอนี้และในอนาคตทั้งหมดควรถูกส่งไปยัง URI ที่กำหนด 308 (การเปลี่ยนเส้นทางถาวร): คำขอและคำขอในอนาคตทั้งหมดควรทำซ้ำโดยใช้ URI อื่น พวกเขาดูเหมือนจะคล้ายกัน

6
ตำแหน่งที่เชื่อถือได้ของคีย์คิวรี่ HTTP GET ซ้ำ
ฉันมีปัญหาในการค้นหาข้อมูลที่เชื่อถือได้เกี่ยวกับพฤติกรรมที่มีสตริงข้อความค้นหา HTTP GET ซ้ำกันเช่น http://example.com/page?field=foo&field=bar และโดยเฉพาะอย่างยิ่งหากมีการเก็บรักษาคำสั่งซื้อหรือไม่ ภาษาบนเว็บส่วนใหญ่จะสร้างอาเรย์ที่มีทั้ง foo และ bar ที่เชื่อมโยงกับคีย์ "field" แต่ฉันต้องการทราบว่ามีคำสั่งที่มีสิทธิ์ (เช่นใน RFC) เกี่ยวกับประเด็นนี้หรือไม่ RFC 3986มีส่วน3.4. Queryซึ่งอ้างถึงคู่ key = value แต่ไม่มีการพูดถึงวิธีการตีความลำดับและฟิลด์ที่ซ้ำกันและอื่น ๆ เรื่องนี้สมเหตุสมผลเนื่องจากมันขึ้นอยู่กับแบ็กเอนด์และไม่อยู่ในขอบเขตของ RFC นั้น ... แม้ว่าจะมีมาตรฐานแบบพฤตินัยอยู่แล้ว แต่ฉันต้องการเห็นแหล่งข้อมูลที่เชื่อถือได้สำหรับเรื่องนี้
137 http  uri 

10
จะอ่านค่าจาก querystring ด้วย ASP.NET Core ได้อย่างไร?
ฉันกำลังสร้าง RESTful API หนึ่งรายการโดยใช้ ASP.NET Core MVC และฉันต้องการใช้พารามิเตอร์ querystring เพื่อระบุการกรองและการเพจบนทรัพยากรที่ส่งคืนคอลเล็กชัน ในกรณีนั้นฉันต้องอ่านค่าที่ส่งผ่านในสตริงการสืบค้นเพื่อกรองและเลือกผลลัพธ์ที่จะส่งคืน ฉันได้พบแล้วว่าภายในการควบคุมGetการดำเนินการในการเข้าถึงผลตอบแทนที่หนึ่งHttpContext.Request.QueryIQueryCollection ปัญหาคือฉันไม่รู้ว่ามันใช้ในการดึงค่าอย่างไร ความจริงฉันคิดว่าวิธีที่จะทำคือใช้ตัวอย่างเช่น string page = HttpContext.Request.Query["page"] ปัญหาคือHttpContext.Request.Query["page"]ไม่ส่งคืนสตริง แต่เป็นStringValuesไฟล์. อย่างไรก็ตามเราจะใช้IQueryCollectionเพื่ออ่านค่าสตริงการสืบค้นได้อย่างไร?

4
REST, HTTP DELETE และพารามิเตอร์
มีอะไรที่ไม่เกี่ยวข้องกับการระบุพารามิเตอร์ให้กับคำขอ HTTP DELETE หรือไม่ สถานการณ์ของฉันคือฉันกำลังสร้างโมเดล "คุณแน่ใจหรือไม่ว่าต้องการลบสิ่งนั้น" สถานการณ์ ในบางกรณีสถานะของทรัพยากรบ่งชี้ว่าการลบที่ร้องขออาจไม่ถูกต้อง คุณอาจนึกภาพบางสถานการณ์ที่ต้องมีการยืนยันการลบ วิธีแก้ปัญหาที่เรานำมาใช้คือการส่งพารามิเตอร์ไปยังคำขอลบเพื่อระบุว่าสามารถดำเนินการลบได้ ("? force_delete = true") เช่น DELETE http://server/resource/id?force_delete=true ฉันเชื่อว่ามันยังคงผ่อนคลายตั้งแต่: (a) ไม่มีการเปลี่ยนแปลงความหมายของ DELETE - ผู้ใช้ยังคงสามารถส่งคำขอ DELETE ตามปกติได้ แต่อาจล้มเหลวด้วย 409 และเนื้อหาของการตอบกลับจะอธิบายสาเหตุ ฉันบอกว่าอาจล้มเหลวเนื่องจาก (ด้วยเหตุผลที่ไม่คุ้มค่าที่จะอธิบาย) ในบางครั้งไม่มีเหตุผลที่จะแจ้งให้ผู้ใช้ทราบ (b) ไม่มีอะไรในวิทยานิพนธ์ของ Roy ที่ชี้ให้เห็นว่ามันขัดต่อเจตนารมณ์ของ REST - ทำไมถึงเป็นเช่นนั้นเนื่องจาก HTTP เป็นเพียงการใช้งาน REST เพียงครั้งเดียวดังนั้นทำไมการส่งผ่านพารามิเตอร์ HTTP จึงมีความสำคัญ ใครช่วยชี้ฉันด้วยคำพูดที่ชัดเจนว่าทำไมสิ่งนี้ถึงไม่สงบ? ในคำถามที่เกี่ยวข้องหากผู้ใช้ไม่ได้ระบุ force_delete ฉันจะส่งคืน409 Conflict- รหัสตอบกลับที่เหมาะสมที่สุดหรือไม่ …
135 http  rest 

12
เพจในคอลเลกชันที่เหลือ
ฉันสนใจที่จะเปิดเผยอินเทอร์เฟซ REST โดยตรงกับคอลเล็กชันของเอกสาร JSON (คิดว่าCouchDBหรือPersevere ) ปัญหาที่ฉันพบคือวิธีจัดการการGETดำเนินการบนคอลเลกชันรูทหากคอลเลกชันมีขนาดใหญ่ ตัวอย่างเช่นแกล้งทำเป็นว่าฉันกำลังเปิดเผยQuestionsตารางของ StackOverflow ซึ่งแต่ละแถวจะแสดงเป็นเอกสาร (ไม่ใช่ว่าจำเป็นต้องมีตารางดังกล่าวเป็นเพียงตัวอย่างที่เป็นรูปธรรมของชุด 'เอกสาร' ที่มีขนาดใหญ่) คอลเลกชันจะทำให้สามารถดูได้ที่/db/questionsกับ API CRUD ปกติGET /db/questions/XXX, PUT /db/questions/XXX, POST /db/questionsอยู่ในการเล่น วิธีมาตรฐานในการรับคอลเลกชันทั้งหมดคือGET /db/questionsแต่ถ้าการทิ้งแต่ละแถวเป็นออบเจ็กต์ JSON อย่างไร้เดียงสาคุณจะได้รับการดาวน์โหลดที่ค่อนข้างใหญ่และทำงานได้มากในส่วนของเซิร์ฟเวอร์ วิธีแก้ปัญหาคือการเพจ Dojo มีการแก้ไขปัญหานี้ในของJsonRestStoreผ่านทางส่วนขยาย RFC2616 สอดคล้องฉลาดของใช้ส่วนหัวกับหน่วยช่วงที่กำหนดเองRange itemsผลลัพธ์คือ a 206 Partial Contentที่ส่งคืนเฉพาะช่วงที่ร้องขอ ข้อได้เปรียบของวิธีนี้เหนือพารามิเตอร์การค้นหาคือมันจะทิ้งสตริงการสืบค้นไว้สำหรับ ... คิวรี (เช่นGET /db/questions/?score>200หรือบางครั้งและใช่ว่าจะเข้ารหัส%3E) แนวทางนี้ครอบคลุมพฤติกรรมที่ฉันต้องการอย่างสมบูรณ์ ปัญหาคือRFC 2616ระบุว่าในการตอบสนอง 206 (เน้นของฉัน): คำขอต้องมีรวมถึงข้อมูลส่วนหัวช่วง ( ส่วน 14.35 …

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