HTTP协议

一、定义

HTTP:WEB浏览器与WEB服务器之间的一问一答的交互过程遵循的规则。HTTP是一种超文本传输协议(hypertext transfer protocol),是TCP/IP协议集中的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式。是一个无状态,无连接的协议;基于请求/响应模式的一个协议

PS:发送请求载入网页时,网页里的资源来自于其他链接,需要再发送一个请求,http1.1版本是不断开链接,发送请求,http1.0版本是每个一资源都建立一个链接传输数据,【浏览器是多线程的?】

(先建立链接,再发送请求)

二、内容

HTTP包括两部分:

1)请求:由客户端向服务器发送的内容

由三部分组成:请求行,消息头,请求体(可有可无,GET无,POST有)

//请求行

GET /books/java.html HTTP/1.1 //请求方法    请求的url    协议

//多个消息头

Accept: */*

Accept-Language: en-us

Connection: Keep-Alive

Host: localhost                                     //主机

Referer: http://localhost/links.asp        //页面的来源

User-Agent: Mozilla/4.0                       //告诉服务器,访问者是通过什么工具来请求的

Accept-Encoding: gzip,deflate

//一个空行

 

//请求体

 

2)响应

编写模拟http服务器的程序:

1、定义一个ServerSocket,监听80端口;

        ServerSocket server = new ServerSocket(80);

        Socket s = server.accept();//阻塞方法,程序停止,等待客户端发请求

2、获得输入流,从输入流中获取请求信息(将字节转换成字符)

        BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));

        br.readLine();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值