HTTP入门

概述

HTTP,即超文本传输协议,规定了浏览器和服务器之间数据传输的规则

特点

基于TCP协议:面向连接,安全
基于请求-响应模型:一次请求一次响应
HTTP协议是无状态的协议:对于事物处理没有记忆功能。每次请求-响应都是独立的
缺点:多次请求之间不能共享数据
优点:速度快

对于上述的无法记忆问题,java中采取了会话技术来解决

HTTP请求数据格式

请求数据分为三部分
1.请求行:请求数据的第一行。其中GET表示请求方式,/表示请求资源路径,HTTP/1.1表示协议版本
2.请求头:第二行开始,格式为key:value形式。
3.请求体:POST请求的最后一部分,存放请求参数

常见的HTTP请求头:
Host:表示请求的主机名
User-Agent:浏览器版本,例如Chrome浏览器的标识类似Mozilla/5.0.Chrome/79,IE浏览器的标识类似Mozilla/5.0 Windows NT)like Gecko
Accept:表示浏览器能接收的资源类型,如text/*, image/或者*/*表示所有
Accept-Language:表示浏览器偏好的语言,服务器可以据此返回不同语言的网页
Accept-Encoding:表示刘览器可以支持的压缩类型,例如gzip,deflate等

Get请求和POST请求的区别
GET请求请求参数才请求行中,没有请求体,POST请求请求参数在请求体中
GET请求请求参数有大小限制,POST请求没有

HTTP响应数据格式

响应数据分为三部分
1.响应行:请求数据的第一行。HTTP/1.1表示协议版本,200表示状态响应码,OK表示状态码描述
2.响应头:第二行开始,格式为key:value形式。
3.响应体:最后一部分,存放响应数据

常见响应头
Content-Type:表示该响应内容的类型,例如text/html,image/jpeg
Content-Length:表示该响应内容的长度(字节数)
Content–Encoding:表示该响应压缩算法,例如gzip
Cache-Control:指示客户端应如何缓存,例如max-age=300,表示可以最多缓存300秒

状态码说明

分类 分类描述
1** 信息,服务器收到请求,需要请求者继续执行操作
2** 成功,操作被成功接收并处理
3** 重定向,需要进一步的操作以完成请求
4** 客户端错误,请求包含语法错误或无法完成请求
5** 服务器错误,服务器在处理请求的过程中发生了错误

你可能感兴趣的:(计算机网络,http,chrome,网络协议)