HTTP协议(TCP/IP)

时间:2021-05-21 20:52:43

HTTP协议(TCP/IP):

服务器套接字(TCP用主机的IP地址加上主机上的端口号作为TCP连接的端点,这种端点就叫做套接字(socket)或插口)
 
数据包(请求包、报文)http 请求格式:
  第一部分:请求行(占一行) 请求方法 空格 地址(URL) 空格 协议版本 回车符 换行符,如:GET /index.html HTTP/1.1
  第二部分:请求头(占多行) 一些客户端发送给服务器的参数,键值对应,建和值使用冒号分割的
  第三部分:请求体,请求体和请求头中间有一个空行,POST请求,请求体里面会存放表单数据。(GET请求,无请求体)
 
请求方法包括:GET、HEAD、PUT、POST、TRACE、OPTIONS、DELETE
请求头 说明
Host 接受请求的服务器地址。可以是IP:端口号,也可以是域名。
User-Agent 发送请求的应用程序名称
Connection 指定与连接相关的属性。如:Connection:Keep-Alive
Accept-Charset 通知服务器端可以发送的编码格式
Accept-Encoding 通知服务器端可以发送数据压缩格式
Accept-Language 通知服务器端可以发送的语言
 
 
数据包(请求包、报文)http 响应格式:
  第一部分:响应行(占一行) 协议 空格 结果(比如200) 空格 描述(自定义)
  第二部分:响应头(占多行) 一些服务器发送给客户端的参数,键值对

  第三部分:响应体:响应体和响应头中间有一个空行,客户端显示的内容(一般为html代码)

 
状态码 说明
 200 相应成功
302 跳转。跳转地址通过响应头中的Location属性指定(注意Forward和Redirect之间的区别)
400 客户端请求有与发错误,不能被服务器识别
403 服务器收到请求,但拒绝提供服务(认证失败)
404 请求资源不存在
500 服务器内部错误
 
响应头 说明
Server 服务器应用程序软件的名字和版本
Content-Type 相应正文的类型(是图片还是二进制字符串)
Content-Length 相应正文的长度
Content-Charset 相应正文使用的编码
Content-Encoding 相应正文使用的压缩格式
Content-Language 相应正文使用的语言