টমকেটের সর্বোচ্চ URL দৈর্ঘ্য কত?


43

এবং এটি কনফিগারযোগ্য? আমি কি টমক্যাট সেট আপ করতে পারি যাতে একটি ইউআরএল বলে, 200K ক্যোয়ারী প্যারামগুলি সাবলীল সার্লেটে সাফল্যের সাথে যায়?

হ্যাঁ, আমি জানি যখন আপনার প্রচুর ডেটা থাকে তখন একজনের পোষ্ট ব্যবহার করা উচিত; এই বিশেষ ক্ষেত্রে এটি একটি কম আনন্দদায়ক বিকল্প। অন্তর্ভুক্ত অ্যাপ্লিকেশন (একটি অনুসন্ধান ইঞ্জিন) একটি অনুসন্ধান সম্পাদন করার জন্য একটি জিইটি অনুরোধ আশা করে।

উত্তর:


60

আপনি টমক্যাট / কনফার্ট / সার্ভার.এক্সএমএল এর এইচটিটিপি / ১.১ সংযোগকারী এন্ট্রি সম্পাদনা করতে পারেন এবং ডিফল্ট সর্বাধিক 8 কে বা এর থেকে 64 কে উন্নীত করতে একটি সর্বোচ্চ httpHeaderSize = "65536" যুক্ত করতে পারেন। আমি কল্পনা করি যে আপনি এই সংখ্যাটি প্রয়োজনীয় হিসাবে উচ্চতর করতে পারেন, তবে এই মুহুর্তে 64K আমার প্রয়োজনের জন্য যথেষ্ট, তাই আমি এটি চেষ্টা করি নি।

<Connector port="8080" maxHttpHeaderSize="65536" protocol="HTTP/1.1" ... />

3
খুব দরকারী, সলারের সাথে আমার সমস্যাটি সমাধান করুন। দেখে মনে হচ্ছে আমরা server.xmlকনফিগারেশনে ডিফল্ট 8192 সীমাতে স্ক্র্যাচ করছিলাম , লক্ষ্য না করে এবং হঠাৎ এটি আঘাত করে। বেদনাদায়ক গোটচা: এ সম্পর্কে কোথাও লগ করা হয়নি, সংযোগগুলি নিঃশব্দে ফেলে দেওয়া হয়েছিল (আমি আর এইচটিটিপি স্থিতির কথা মনে করি না)। আমি tomcat.apache.org/tomcat-5.5-doc/config/http.html এর আগে ডকুমেন্টেশনে হোঁচট খেয়েছি , তবে আমি maxHttpHeaderSizeএর নামটি বা এর বিবরণটি জিইটি অনুরোধের অনুসন্ধানের প্যারামিটারের সাথেও সম্পর্কিত হতে পারি না।
চিহ্নিত করুন

আমরা সলরে একই সীমাবদ্ধতাটি কেবল হিট করেছি, একটি শ্বেত সাদা পৃষ্ঠা ছাড়া আর কিছুই নয় ... :( ম্যাক্সএইচটিপিএইচটি হাইডারসাইজ কৌশলটি করেছে
ব্যবহারকারীর 85116

আমি মনে করি ম্যাক্সএইচটিএফপিএইডারসাইজ = "100000" সম্ভব নয়, এটি 1024 দ্বারা গুণিত হওয়া উচিত I আমি ম্যাক্সএইচটিএইচপিএইচডারাইজ = "1048576" পরিবর্তন করেছি যা 1024 * 1024 এবং এটি এখনও কাজ করছে না।

3
একটি গ্রহণযোগ্য উত্তর, "maxHttpHeaderSize =" 65536 " কাজ করে না এটা কারণে আগে কখনো কাজ বাগ ।। হুল বিড়াল URL টি / কোনো URI HTTP- র শিরোলেখ সঙ্গে কিছুই করার আছে
ফুয়াদ এফেন্দি

1
@ ফুয়াদেফেন্দি এখন সর্বাধিক আকার কী?
এমজাগার্ড

5

একটি HTTP জিইটি অনুরোধের দৈর্ঘ্য আরএফসি 2616 দ্বারা প্রয়োগ করা হয় না , যেমন মাইক্রোসফ্ট তার আইই সর্বাধিক দৈর্ঘ্য সমর্থন পৃষ্ঠার জন্য প্রতিবেদন করে ।

সুতরাং, সর্বাধিক জিইটি দৈর্ঘ্য হ'ল একটি ক্লায়েন্ট (ব্রাউজার) সম্পর্কিত সমস্যা । যদি আপনার অ্যাপ্লিকেশন লোকেরা ব্যবহার করে থাকে তবে আপনি প্রদত্ত ব্রাউজারটি ব্যবহার করতে বাধ্য করতে পারেন তবে আপনি এই ব্রাউজারটির সমর্থন কত দৈর্ঘ্যের তা সন্ধান করতে পারেন।

প্রতিটি ক্ষেত্রেই আমি ক্যোরি স্ট্রিংয়ে ব্রাউজার সম্পর্কিত সমস্যাগুলি সম্পর্কে উইকিপিডিয়া পৃষ্ঠাটিতে নজর দেওয়ার পরামর্শ দিই (সার্ভার সাইড অ্যাপগুলির জন্য প্যারামিটার আনার অনুরোধের অংশ, "?" অনুসরণ করে একটি অনুরোধটি শেষ পর্যন্ত একটি অনুরোধে উপস্থিত হয়)।

অবশ্যই টমক্যাট সার্ভারের দিকেও একটি সীমাবদ্ধতা রাখবে। আরএফসি বলেছেন:

সার্ভারগুলি তাদের প্রদত্ত যে কোনও সংস্থার ইউআরআই হ্যান্ডেল করতে সক্ষম হতে হবে এবং যদি তারা জিইটি-ভিত্তিক ফর্ম সরবরাহ করে যা এই জাতীয় ইউআরআই তৈরি করতে পারে তবে আনবাউন্ডেড দৈর্ঘ্যের ইউআরআই পরিচালনা করতে সক্ষম হওয়া উচিত। কোনও ইউআরআই সার্ভার হ্যান্ডেল করতে পারে তার চেয়ে বেশি দীর্ঘ হলে 414 (অনুরোধ-ইউআরআই খুব দীর্ঘ) স্থিতি ফিরিয়ে আনতে হবে (বিভাগ 10.4.15 দেখুন)।

সুতরাং আপনি সহজেই পরীক্ষা করতে পারবেন যে টমকটের কোনও সীমা রয়েছে এবং এই সীমাটি কী খুব সহজে একটি ত্রুটি প্রদান করে এবং একটি অর্ধেক নীচে চলে যাওয়ার সাথে শুরু করে বিভিন্ন অনুরোধগুলি কী ব্যবহার করছে তা সন্ধান করতে পারেন। তারপরে সঠিক মানটি দ্রুত খুঁজে পেতে দ্বিখণ্ডিত পদ্ধতি ব্যবহার করুন।


অ্যালবার্ট, আমি অবগত ছিলাম যে টমকটের বাক্সের বাইরে একটি সীমা ছিল (8 কে এর মতো কিছু); আমি ভাবলাম এমনকি যদি এমন কোনও সীমা থাকে যা এমনকি কনফিগারেশনও অতিক্রম করতে পারে না।
মাইকেল গুন্ডল্যাচ

2

এজেপি সংযোগকারীটির জন্য আপনাকে packetSizeবৈশিষ্ট্যটি সামঞ্জস্য করতে হবে :

<Connector port="8009" 
    protocol="AJP/1.3" 
    packetSize="65536" />

1
আপনি যদি mod_proxy ব্যবহার করে থাকেন তবে আপনাকে ProxyIOBufferSize 65536 নিজের httpd কনফিগারেশনেও সেট করতে হবে।
আত্মহত্যা

1

আপনি টমক্যাট সার্ভারে কনফিগারটি পরিবর্তন করতে পারেন (.. \ টমক্যাট 6.0 \ কনফার্ম \ সার্ভার.এক্সএমএল)

<সংযোগকারী পোর্ট = "8983" ম্যাক্সএইচটিপিএইচডিয়ারসাইজ = "100000" প্রোটোকল = "HTTP / 1.1" সংযোগকালীন সময় = "20000" পুনঃনির্দেশকর্তন = "8443" />


আপনি নিজের কোডটি ফর্ম্যাট করে এবং কেন এটির ওপি প্রশ্নের উত্তর দেয় তা ব্যাখ্যা করে আপনি এই উত্তরটির উন্নতি করতে পারেন।
james.garriss
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.