美文网首页java学习
NO.38 WebServer思路

NO.38 WebServer思路

作者: smallnumber | 来源:发表于2017-08-08 23:23 被阅读0次

我们需要开发一个可供浏览器访问的网页服务端。

客户端HTTP协议中的请求信息格式:

请求行

GET /index.html HTTP/1.1CRLF

消息报头

消息正文

以行为单位发送至服务端 每行结尾以(CR LF)

CR:回车  LF:换行


服务端需要响应客户端对应的资源----HTTP协议要求实际响应客户端时的数据格式:

HTTP/1.1 200 OK CRLF        状态行

Content-Type:text/html CRLF  响应头信息

Content-Length:100CRLF      响应头信息

CRLF        单独发送CRLF指明响应头全部发送完毕

DATA        实际数据

1)状态行

状态行格式:

HTTP-Version Status_code Reason_Phrase CRLF

HTTP协议版本      状态代码      状态描述CRLF

例如:HTTP/1.1 200 OK CRLF

状态代码第一个数字有5种:

1xx:指示信息,表示请求已接收,继续处理。

2xx:成功,表示请求已接收,理解,接受

3xx:重定向,要完成请求需要更进一步的操作

4xx:客户端错误,请求语法错误或请求无法实现

5xx:服务端错误,服务器未能实现该请求

常见的状态码及描述:

200 OK                    客户端请求成功

400 Bad Request     客户端请求有语法错误,服务端不能理解

401 Unauthonzed    请求未授权

403 Forbidden          服务端接收到请求,但是拒绝提供服务

404 Not Found          请求的资源不存在

500 Internal Server Error 服务器发生了不可预期的错误

503 Service Unavailable  服务器当前不能够处理客户端请求

2)响应头

响应头注明很多返回的信息,按行输出

常见----Content-Type:用来指明发送给接收者的媒体类型

常见的Content-Type:

text/html:    HTML格式文件(网页)

text/xml:      XML格式文件

image/gif:    gif格式图片

image/jpeg:  jpeg格式图片

image/png:   png格式图片

Content-Length:用来指明发送给接收者实体正文的长度,简单说就是发送过去的数据的字节量

CRLF        单独发送CRLF指明响应头全部发送完毕

3)响应正文

DATA        实际数据

我们获取输入流,读取客户端发送过来的数据,然后给于客户端反馈,输出流使客户端得到请求的信息。

相关文章

  • NO.38 WebServer思路

    我们需要开发一个可供浏览器访问的网页服务端。 客户端HTTP协议中的请求信息格式: 请求行 GET /index....

  • webserver

    一、什么是WEBserver Webserver能够解析HTTP协议。当Webserver接收到一个HTTP请...

  • webserver

    webserver 架构阐述 写在前面 web应用服务器是互联网时代最为重要之一的底层支持。它处理相应的应用访问请...

  • WebServer

    Programming Assignment 1: Building a Multi-Threaded Web S...

  • 在阿里云上以DevOps简单实现网站搭建

    1. 基本业务代码实现 (业务面webserver管理面deployserver) webserver 编译 生成...

  • 戏说 RACK

    A RUBY WEBSERVER INTERFACE

  • 英语流利说-Level2·Unit3·Part3-Listeni

    Listening Bus No.38 has a regular schedule. It comes ever...

  • Airflow:Airflow 安装及配置

    安装步骤 配置文件安装路径及环境变量 初始化 airflow 配置 webserver 修改 webserver ...

  • 简易WebServer

    需求:轻量级web容器,启动check线程,显示数据,接收参数并调整线程参数;备选: 启动标准web项目 缺点:依...

  • Webserver Tracing

    OpenTracing OpenTracing提供了一个开放的,与供应商无关的标准API。OpenTracing标...

网友评论

    本文标题:NO.38 WebServer思路

    本文链接:https://www.haomeiwen.com/subject/tlbxrxtx.html