日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

Java 技术篇 - 前端浏览器发送一次url请求后端ServerSocket接收到两次请求原因及解决方法,GET /favicon.ico HTTP/1.1问题处理

發(fā)布時(shí)間:2025/4/16 HTML 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 技术篇 - 前端浏览器发送一次url请求后端ServerSocket接收到两次请求原因及解决方法,GET /favicon.ico HTTP/1.1问题处理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

效果圖如下:

前端發(fā)送一次請求,后端接收到兩次,第二次是:GET /favicon.ico HTTP/1.1
可以看到頁簽上標(biāo)題欄前面是個(gè)地球,這個(gè)是默認(rèn)的。
原因就是后臺給的響應(yīng)里沒有指定這個(gè)圖標(biāo),他再請求一次,就是請求這個(gè)資源。

解決方法,在響應(yīng)里加上這個(gè)元素,指定下圖標(biāo)內(nèi)容:
<link rel="shortcut icon" href="https://g.csdnimg.cn/static/logo/favicon32.ico" type="image/x-icon" />
其中 https://g.csdnimg.cn/static/logo/favicon32.ico 這個(gè)是 csdn 網(wǎng)站上的圖標(biāo),具體的可以自己來指定。

修改后再次測試:

可以看到只有一次請求了,而且頁簽前面也有圖標(biāo)了。

測試代碼如下:

package com.test.test;import java.io.*; import java.net.ServerSocket; import java.net.Socket;public class SocketTest {public static void main(String[] args) throws IOException {/*作用:接收瀏覽器的請求并響應(yīng)*/// 創(chuàng)建服務(wù),端口設(shè)置為10010ServerSocket server = new ServerSocket(10010);int k = 0;while(true) {// 阻塞式連接,當(dāng)接收請求前保持阻塞Socket socket_client = server.accept();// 獲取輸入流InputStream in_put = socket_client.getInputStream();// 制作響應(yīng)報(bào)文StringBuffer response = new StringBuffer();// 讀取請求內(nèi)容BufferedReader input = new BufferedReader(new InputStreamReader(in_put,"GBK"));String url = input.readLine();if(url != null) {String url_new = java.net.URLDecoder.decode(url, "UTF-8");k = k + 1;System.out.println("\n循環(huán)次數(shù):" + k);System.out.println(url_new);}// 響應(yīng)頭部String response_head = "HTTP/1.1 200 OK\r\n" +"Content-type:text/html\r\n\r\n";// 響應(yīng)主體String response_body = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">" + // 解決亂碼問題"<link rel=\"shortcut icon\" href=\"https://g.csdnimg.cn/static/logo/favicon32.ico\" type=\"image/x-icon\" />" +"<style>body{font-family:\"黑體\"}</style>" +"歡迎來到小藍(lán)棗的博客<br>" +"Welcome to xiaolanzao's blog!";response.append(response_head + response_body);// 獲取輸出流OutputStream out_put = socket_client.getOutputStream();// 將響應(yīng)數(shù)據(jù)傳給輸出流out_put.write(response.toString().getBytes());// 關(guān)閉創(chuàng)建的對象out_put.close();in_put.close();socket_client.close();}} }

喜歡的點(diǎn)個(gè)贊?吧!

總結(jié)

以上是生活随笔為你收集整理的Java 技术篇 - 前端浏览器发送一次url请求后端ServerSocket接收到两次请求原因及解决方法,GET /favicon.ico HTTP/1.1问题处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。