package com.day5;

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date; public class Server { /**刘诗华 Response响应
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception { //设置换行符
String CRLF = "\r\n";
//申请注册8080套接字
ServerSocket server=new ServerSocket(8080); System.out.println("开始接受请求...");
//接受客户端请求
Socket socket = server.accept();
//获取客户端对象输出流对象
OutputStream out = socket.getOutputStream();
//将字节输出流转换成字符输出流
OutputStreamWriter writer = new OutputStreamWriter(out);
//将字符输出流转换成缓冲字符流
BufferedWriter bw = new BufferedWriter(writer); StringBuilder response=new StringBuilder(); //响应报文主体内容
String html="<h1>Hello my name is liu shi hua</h1>"; //设置响应头信息
response.append("HTTP/1.1 200 OK").append(CRLF);
response.append("Server:Apache/2.4.10 (Win32) PHP/5.3.28").append(CRLF);
response.append("Date:").append(new Date()).append(CRLF);
response.append("Content-Type:text/html").append(CRLF);
response.append("Content-Length: "+html.getBytes().length).append(CRLF);
response.append(CRLF);
response.append(html); //发送数据到客户端
bw.write(response.toString()); //关闭资源流
bw.close();
socket.close();
server.close(); System.out.println(response); } }

响应报文格式

HTTP/1.1 200 OK
Server:Apache/2.4.10 (Win32) PHP/5.3.28
Date:Fri, 06 Jul 2018 14:52:32 GMT
Content-Type:text/html
Content-Length: 17 <h1>Hello</h1>

02-Response简单响应报文的更多相关文章

  1. HTTP请求协议中请求报文(Request Headers)跟响应报文(Response Headers)的简单理解

    背景 今儿个一新来的应届生问我,开发模式中所看到的web请求的请求头里的属性怎么理解,我便根据自己的经验随便拉开一个请求跟他聊了起来,顺便自己记录下文字版,以后再有交流直接发地址给他就好了,嘻嘻,机智 ...

  2. node——简单的服务器启动+乱码问题解决,响应报文头

    这个是一个比较简单的代码 // 1.加载hrrp模块 var http=require('http'); // 2.创建一个http服务对象 var server=http.createServer( ...

  3. IP封包协议头/TCP协议头/TCP3次握手/TCP4次挥手/UDP协议头/ICMP协议头/HTTP协议(请求报文和响应报文)/IP地址/子网掩码(划分子网)/路由概念/MAC封包格式

    IP协议头IP包头格式: 1.版本号:4个bit,用来标识IP版本号.这个4位字段的值设置为二进制的0100表示IPv4,设置为0110表示IPv6.目前使用的IP协议版本号是4. 2.首部长度:4个 ...

  4. HTTP响应报文与工作原理详解

    超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到 ...

  5. 【转】HTTP响应报文与工作原理详解

    超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到 ...

  6. http请求报文格式和响应报文格式

    转载 出处 超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求 ...

  7. fiddler响应报文的headers属性详解

    fiddler响应报文的headers属性详解 (1)Cache头域 1. Cache-Control 在请求报文已经说过了,用于设置缓存的属性,浏览内容不被缓存. 2. Data 生成消息的具体时间 ...

  8. application/x-www-form-urlencoded接口响应报文中文乱码

    1.如何处理乱码 在进行接口测试时,在用httpclient post请求时,对于Content-Type:application/json来说,在写测试脚本时只需要为头信息和post请求指定相应编码 ...

  9. HTTP响应报文与工作原理详解(转)

    超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到 ...

随机推荐

  1. makefile中 = := += 的区别

    = 是最基本的赋值 := 是覆盖之前的值 ?= 是如果没有被赋值过就赋予等号后面的值 += 是添加等号后面的值 1.“=” make会将整个makefile展开后,再决定变量的值.也就是说,变量的值将 ...

  2. IO模型--阻塞IO,非阻塞IO,IO多路复用,异步IO

    IO模型介绍: * blocking IO 阻塞IO * nonblocking IO 非阻塞IO * IO multiplexing IO多路复用 * signal driven IO 信号驱动IO ...

  3. 遇见 TiDB

    遇见 TiDB 文章来源:企鹅号 - 塔塔驿站 最近TiDB掀起了一波分布式数据库的热潮,公司也在着手准备TiDB的落地工作,前几天也参与了几场公司针对TiDB的分享会,下面我们了解一下关于TiDB. ...

  4. 网络知识梳理--OSI七层网络与TCP/IP五层网络架构及二层/三层网络(转)

     reference:https://www.cnblogs.com/kevingrace/p/5909719.html https://www.cnblogs.com/awkflf11/p/9190 ...

  5. 福大软工 · 第十二次作业 - Beta答辩总结之拖鞋旅游队

    目录 前言 项目的链接与宣传 项目总结 原计划 达成情况 原因分析 [ Beta 冲刺博客链接汇总] [燃尽图] Beta版本展示 使用说明 视频展示 图片展示 答辩总结 [团队中个人的贡献比例] [ ...

  6. L2-005. 集合相似度(STL)*

    L2-005. 集合相似度 参考博客 #include<cstdio> #include<set> #include<cstdlib> using namespac ...

  7. 操作系统口令认证,sysdba本地登录需要输入密码

    开发测试人员,反馈,sqlplus / as sysdba 登陆需要输入密码? 本篇文档流程: 1.场景还原 2.问题处理 3.相关问题介绍 一.场景还原 1)配置SQLNET.ora配置文件,配置操 ...

  8. 开源中国/码云 README.md上传图片的爬坑记录

    整理代码,将电脑中长期没有用过的代码放到码云上托管,给项目录制gif动画,在写项目README.md时使用,结果在上传图片时一直出问题,现记录下最后解决方法: 1. 最初直接将录制好的图片放入到img ...

  9. redis使用get key中文变成十六进制编码

    redis-cli 后面加上 --raw 解决中文显示问题 redis-cli -h 127.0.0.1 -p 端口 -a 密码  --raw 不带 --raw 参数: redis-cli -h &g ...

  10. golang-generate-1pixel-image

    package main import ( "bytes" "encoding/base64" "flag" "html/temp ...