c5395348
2015-10-10 06:56
采纳率: 28.6%
浏览 2.6k
已采纳

服务器编程 如何把一个网页从服务器发送给客户机的浏览器

我把网页代码直接放到buf中用write(sockfd,buf,buf_size)发送过去 浏览器只会闪一下网页的代码然后一直转圈链接 而不是打开主页的形式 请问该怎么写才能让浏览器打开主页

图片说明

这是我的测试网页内容 通过以下方式写入write_buf
int f=open(index.html,O_RDONLY);
write_buf[WRITE_BUFFER_SIZE-1]='\n';
int tmp=read(f,write_buf,WRITE_BUFFER_SIZE-1);
然后 write(sockfd,write_buf,WRITE_BUFFER_SIZE)发送给浏览器
发送前在服务器端打印了write_buf数据 内容没有问题 但浏览器就是不显示页面

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • 勇往直前的胖子 2015-10-10 16:37
    最佳回答

    你的返回需要符合http协议,想要返回的response能让浏览器正确handle,不是直接返回html文件的内容就行的,要符合http协议的格式,举个例子:

     HTTP/1.1 200 OK
    Date: Sat, 31 Dec 2005 23:59:59 GMT
    Content-Type: text/html;charset=ISO-8859-1
    
    <html>
       <head></head>
         <body>test</body>
    </html>
    

    注意那个空行必须要有,浏览器收到这个会知道这个请求响应成功(response code=200),然后html内容是xxx,

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题